home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / INFORM_2.ZIP / INFORM-2
Text File  |  1993-03-31  |  177KB  |  2,228 lines

  1. +=============================================================================+
  2. |    ##  ##  ##  ###### ######  ######   ### ###     ###### ######  ##  ## ## |
  3. |   ##  ### ##  ##     ##  ##  ##  ##   ## ## ##    ##  ##   ##    ##  ## ##  |
  4. |  ##  ## ###  #####  ##  ##  ######   ##     ##   ######   ##    ##  ####    |
  5. | ##  ##  ##  ##     ######  ##   ##  ##      ##  ##  ##   ##    ##  ##  ##   |
  6. +=============================================##==============================+
  7. |                                                                 Jan 10, 1992|
  8. |                   [ The Journal of Privileged Information ]                 |
  9. |                                                                             |
  10. +-----------------------------------------------------------------------------+
  11. | Issue 02                                                By: 'Above the Law' |
  12. +-----------------------------------------------------------------------------+
  13. |                                                                             |
  14. |Informatik--Bringing you all the information you should know...              |
  15. |            and a lot you shouldn't...                                       |
  16. |                                                                             |
  17. +=============================================================================+
  18.  
  19.  
  20. /* Introduction */
  21.    By the Informatik staff
  22.  
  23.  
  24.  
  25.         Well, we're proud to present Issue #2 of Informatik Journal.
  26. Issue #1 was very well received, and we hope to continue to get good reviews
  27. >from our readers.
  28.  
  29.         This issue once again includes articles on a variety of subjects
  30. related to hacking and phreaking, along with a special report on HoHoCon
  31. 1991.  Both of our editors were on hand at the Con, which was not to be
  32. missed.
  33.  
  34.         Please note, the Internet address "@shake" found in some releases of
  35. Informatik #1 no longer exists, and the owner is not affiliated with this
  36. journal, and mail should NOT be sent there.  We are happy to announce that we
  37. have obtained a permanent Internet address.  The address is:
  38.  
  39.                           inform@doc.cc.utexas.edu
  40.  
  41. Please direct submissions, suggestions, and subscription requests to that
  42. address.  Our subscription and submissions policies are included in this
  43. issue.
  44.  
  45.         Informatik can also be obtained via FTP at the CUD archives, which
  46. are at the following address:
  47.  
  48.                               ftp.cs.widener.edu
  49.  
  50. Informatik is in the directory /pub/cud/misc.  Back issues of Informatik,
  51. along with many other t-files, including Phrack, CUD, and NIA can be found
  52. at the site.
  53.  
  54.  
  55.                                             Enjoy,
  56.  
  57.                                             Mack Hammer & Sterling
  58.                                                   [Editors]
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  65.  
  66.     *DISCLAIMER*
  67.         Informatik Journal is printed for informational purposes only.  We
  68.         do not recommend or condone any illegal or fraudulent application of
  69.         the information found in this electronic magazine.  As such, we
  70.         accept no liability for any criminal or civil disputes arising from
  71.         said information.
  72.  
  73. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  74.  
  75.  
  76.  
  77.  
  78.                   ===========================================
  79.                   ============== - CONTENTS - ===============
  80.                   ================ Issue 02 =================
  81.                   ======= Release date January 10, 1991 =====
  82.                   ===========================================
  83.  
  84.  
  85.  
  86.  
  87. 01)  Issue #2 Introduction
  88.      By:  Mack Hammer & Sterling
  89.  
  90. 02)  HoHoCon 1991
  91.      By:  Mack Hammer
  92.  
  93. 03)  The HP3000's 'SECURITY/3000' system  (part 1)
  94.      By:  Sterling
  95.  
  96. 04)  Inside NORAD
  97.      By:  Anonymous NORAD Insider
  98.  
  99. 05)  Magnetic Strip Technology
  100.      By:  Count Zero
  101.  
  102. 06)  Tid-Bytes
  103.      By:  the Informatik Staff
  104.  
  105. 07)  Hot Flashes--The Underground News Report
  106.      By:  Various Sources
  107.  
  108. 08)  Submission and Subscription Information
  109.      By:  the Informatik Staff
  110.  
  111.  
  112. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.                 ::*::*::*::*::*::*::*::*::*::*::*::*::*::*::*::
  120.                  :*:                                       :*:
  121.                  :*:    HohoCon '91:  The Sordid Details   :*:
  122.                  :*:                                       :*:
  123.                  :*:             by:  Mack Hammer          :*:
  124.                  :*:                                       :*:
  125.                 ::*::*::*::*::*::*::*::*::*::*::*::*::*::*::*::
  126.                                                             
  127.  
  128.  
  129.         December 27 - 29, 1991, Houston was invaded by some 80 plus hackers
  130. and telecommunications enthusiasts from around the country.  HohoCon '91 was
  131. a marked success, unlike its predecessor, HohoCon '90.  The con, sponsored by
  132. NIA and dFx, was very well organized, with Drunkfux, Judge Dredd, and Lord
  133. MacDuff taking the brunt of the organizing on their shoulders.  Vision was
  134. also acknowledged as one of the organizers, but was out of town and couldn't
  135. make the Con.
  136.  
  137.         The Con was held at the Airport Hilton near Intercontinental Airport
  138. in Houston, Texas, and was a three-day event, although almost all of the
  139. business was taken care of on Saturday the 28th.  Thanks to the organizers'
  140. securing an entire wing separate from the rest of the hotel and a large
  141. conference room, the conferees went unmolested for the whole of the weekend.
  142.  
  143.         Friday the 27th
  144.         ~~~~~~~~~~~~~~~
  145.         Most of the guests started arriving during the afternoon of Friday
  146. the 27th.  After laying around/getting acquainted for most of the day,
  147. Hunter (who provided valuable assistance with entertainment all weekend)
  148. contacted Rogue, who provided spirits (at cost) for the night.  After
  149. bringing in some 300 dollars worth of hard liquor, the party began.
  150.  
  151.         While the events that ensued that evening are somewhat foggy for
  152. this writer, I will attempt to detail some of the highlights.  Everyone
  153. wandered in and out of the conference room (where the liquor was located)
  154. and basically got smashed and swapped hacker war stories.  It was then that
  155. Doc Cypher made the unofficial introductory address of the Con.  The entire
  156. group cheered and jeered as Doc, in a drunken stupor, took a nostalgic look
  157. back at some of the great NUIs, systems, services, etcetera that marked
  158. hacking in the Eighties.
  159.  
  160.         The party then moved to the room of MC Allah (who was passed out on
  161. the bed after drinking beer all day and capping it off with some mixed
  162. drinks that night).  A VCR was set up, and a group of about 20 people
  163. watched "Necromantic," a European porn flick featuring, you guessed it, the
  164. dead.  After the movie, everyone split up and either went to bed or drank
  165. the night away, talking about the old times.
  166.  
  167.         Saturday the 28th
  168.         ~~~~~~~~~~~~~~~~~
  169.         The actual conference was scheduled to begin at noon on Saturday,
  170. but due to massive hangovers, was postponed until 2 pm.  At 2 pm somewhere
  171. between 80 and 100 people made their way into the conference room to hear
  172. speeches by various members of the hack/phreak community.
  173.  
  174.         Drunkfux started things off with a few introductions and some
  175. general announcements about the Con, and then introduced Bruce Sterling, the
  176. first speaker.  Bruce, the writer of several cyberpunk novels including his
  177. most recent release, The Difference Engine (with William Gibson), was basically
  178. the celebrity of the Con, and spoke as a member of the Austin Branch of the
  179. Electronic Frontiers Foundation.  As you should know, the EFF is concerned with
  180. protecting the civil liberties of computer users and telecommunications
  181. enthusiasts.  Mail can be sent to the EFF at eff.org, or the Austin Branch can
  182. be contacted at eff-a.tic.com.
  183.  
  184.         The next speaker was Steve Ryan from World View Magazine.  World
  185. View is an electronic magazine which also concerns civil liberties,
  186. especially those involving computers.  One of the primary concerns of the
  187. magazine's writers is freedom of speech, and Steve spoke about the
  188. suspension of this right during the sixties, and warned that it may happen
  189. again.
  190.  
  191.         The guys from Phrack (Crimson Death and Dispater) then took the
  192. podium and basically told the story of what had been going on with Phrack
  193. over the last year or two.  They explained the editorial conflict
  194. surrounding Phrack 34, and gave everyone a short history of who had edited
  195. Phrack when.  Crimson Death and Dispater finally put to rest any controversy
  196. concerning Phrack, and did an excellent job of clarifying the situation.
  197. They also explained why Phrack has "sucked" as of late, blaming it on poor
  198. submissions.  Now that the editorship is once again on stable ground, we're
  199. once again expecting big things from hacking's most famous electronic
  200. publication.
  201.  
  202.         Everyone's favorite ex-LODers, Chris (Erik Bloodaxe) and Scott (Doc
  203. Holiday) were the next speakers.  Now known as Comsec Data Security, and
  204. trying to shake that evil hacker stigma, Scott and Chris have joined
  205. corporate America as security consultants.  The two explained that they
  206. hadn't gotten an especially warm welcome from anyone already in the security
  207. field, and that they had been blackballed by every trade organization.
  208. Rather than taking advantage of the huge body of knowledge possessed by the
  209. ex-hackers, established security experts and publications have chose to
  210. ignore them due to their colored past.  Furthermore, it seems that they have
  211. also been spurned by much of the hacking community.  Overall, the speech
  212. provided an interesting look into the way the computer security field
  213. operates, and was very reassuring to the hackers still on the other side of
  214. the fence.  Scott and Chris did report, however, that business was good.
  215. They then shifted gears and reported on New York's MOD, perhaps the most
  216. unpopular group in the history of hacking.  First they reported on MOD's
  217. activities in general, ie; the posting of personal information of other
  218. hackers on IRC and Lutzifer, general harassment of many noted members of the
  219. hacking community, and the destructions of private systems on various
  220. networks.  They then announced the best news of the day, five MOD members
  221. (including Corrupt, Phiber Optik, and Outlaw) were raided on December 6.
  222.  
  223.         After the Comsec guys finished their speech, Count Zero of RDT
  224. presented a film, starring himself and the other RDT guys, exploring the
  225. campus of MIT.  The film included extensive footage of the steam tunnels
  226. running under the campus, and a great shot of a physical plant employee.
  227.  
  228.         After the MIT film, about a third of the attendees left, and the
  229. conferees who remained saw the episode of "And Now It Can Be Told" about
  230. hackers.  Geraldo Rivera, along with just about everyone else on the show,
  231. got a lot of boos and hisses from the crowd.
  232.  
  233.         The conference then took about a four hour lull while everyone ate,
  234. drank, and watched the pay-per-view channels for free (see Tid-Bytes for
  235. more info).  About 9 pm, Hunter and Rogue once again came through with the
  236. liquor, and yet another night of revelry began.  Everyone once again began
  237. to indulge heavily in the alcohol, and most of the conferees staying in the
  238. hotel found their way into the hallway, where a horrified couple was being
  239. hustled from our wing.  The couple, mistakenly assigned to the HohoCon wing
  240. by the hotel staff, was quite amazed to find some 40 odd drunken and raucous
  241. hackers partying in the hallways.
  242.  
  243.         Just when things once again died down a bit, Hunter came through
  244. once again, this time with a couple of strippers he picked up somewhere.
  245. While the live performance put on by the strippers couldn't compare with
  246. Necromantic, it was the main entertainment of the night.  Eventually,
  247. everyone ended up either going to bed or working on CDC File #200, and
  248. HohoCon '91 was all but through.
  249.  
  250.         Sunday the 29th
  251.         ~~~~~~~~~~~~~~~
  252.         As always, there wasn't much going on Sunday, with most people
  253. checking out and departing for home.  Overall, it seems that HohoCon '91 was
  254. a smashing success, and we're looking forward to next year.
  255.  
  256.  
  257. Now...  for the first annual...
  258.  
  259.  
  260.                      :: Informatik HohoCon Awards ::
  261.  
  262.  
  263. Least constructive use of time:
  264.  
  265.     Crimson Death, for watching approximately six hours of pornos free of
  266.     charge on Saturday night.
  267.  
  268. Most disgusting drink:
  269.  
  270.     Ronnie, who mixed rum, tequila, grenadine, blue Hawaiian mix, vodka, and
  271. lime          juice.
  272.  
  273.  
  274. Hard-day's-night award:
  275.  
  276.     M.C. Allah, for drinking all day, drinking most of the night, passing
  277.     out, and puking on his hotel room floor and Siegfried's foot.
  278.  
  279. Most distasteful video presentation:
  280.  
  281.     Erik Bloodaxe, for showing the most vile porno known to man,
  282.     Necromantic.
  283.  
  284. Should have been drowned in the pool award:
  285.  
  286.     Rou Tisten, the most annoying personality in the world and a voice to
  287.     match.
  288.  
  289. Hard Luck Award:
  290.  
  291.     The whole crew from Memphis whose transmission went out in their truck.
  292.     I sure hope you made it home, guys.
  293.  
  294. I get paid for this? Award:
  295.  
  296.     Wile E. Security Guard.  For marching around our wing approximately
  297.     11,000 times and never saying ANYTHING about our raucous conduct.
  298.  
  299. Logistical genius Award:
  300.  
  301.     The guy who put the Baptist-Revival-Worship-Meeting-Thing next to the
  302.     Con on Friday night.
  303.  
  304.  
  305.  
  306.                  :: Unofficial HohoCon '91 Guest List ::
  307.  
  308.  
  309.         Allanon                                 Lord MacDuff
  310.         Amateur                                 M.C. Allah
  311.         Analog Assassin                         Mack Hammer
  312.         Archangel                               Macross the Black
  313.         Battery                                 Material Man
  314.         Beowulf                                 Minor Threat
  315.         Black Night                             Misanthrope
  316.         Bryan O'Blivian                         Morpheus
  317.         Bundy                                   Mustang
  318.         Cabbage Truck                           Nihilator
  319.         Chizz                                   Omega
  320.         Circle Jerk                             Phaedrus
  321.         Colin Campbell                          Psionic Infiltrator
  322.         Count Zero                              Purple Hayes
  323.         Count Zero                              Rambo
  324.         Crimson Death                           Razorback
  325.         Cross Connect                           Rev. Scott Free
  326.         Cyndre The Grey                         Rogue Lord of the Swastika
  327.         Dark Piper                              Ronnie
  328.         Devereuax                               Rou Tisten
  329.         Dispater                                Search 'n Seizure
  330.         Doc Cypher                              Siegfried
  331.         Doc Holiday                             Snow Blind
  332.         Drunkfux                                Split
  333.         Elrond of Rivendell                     Spoink
  334.         Erik BloodAxe                           Sterling
  335.         Format C:                               Swamp Rat
  336.         Frosty                                  Technysis
  337.         G.A. Ellsworth                          Terminator
  338.         Holistic Hacker                         Terry-Scientist of Confusion
  339.         Hunter                                  The Brain
  340.         Informant                               The Butler
  341.         Jabba                                   The Chairman
  342.         Joe Rockhead                            The Conflict
  343.         Johnny Rotten                           The Desert Fox
  344.         Judge Dredd                             The Master
  345.         Junk Master                             The Pope
  346.         Kable Borks                             The Prisinor
  347.         Knightlife                              White Knight
  348.         Loki                                    Winter's Ice
  349.  
  350.  
  351.  Please note:  This list was compiled mainly from a sign-in sheet passed
  352.                around at the conference on Saturday.  If you missed being
  353.                on the list, we apologize.
  354.  
  355.  
  356. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  357.  
  358.  
  359.  
  360.            >*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>
  361.            *>                                                   <*
  362.            <*   The HP3000's 'SECURITY/3000' System  (part 1)   *>
  363.            *>                                                   <*
  364.            <*                    by Sterling                    *>
  365.            *>                                                   <*
  366.            <*<*<*<*<*<*<*<*<*<*<*<*<*<*<*<*<*<*<*<*<*<*<*<*<*<*<*<
  367.  
  368.  
  369.  
  370. SECURITY/3000 is a third party security package for use on HP 3000 series
  371. computers.  It replaces several commands and bundles several utility programs
  372. to monitor system security.  In part 1, I will try to provide an overview of
  373. the obstacles that the SECURITY/3000 package presents for any would be
  374. intruders, and discuss the usages of the LOGON system.
  375.  
  376. SECURITY/3000 is popular because it attempts to shore up the security
  377. weaknesses found in the basic HP MPE Operating System. In order to insure user
  378. ID integrity, HP's logon security system uses passwords.   However, these
  379. passwords provide only an illusion of security because:
  380.  
  381.      *  There is only one password for each level (user, group, or
  382.         account) of security.  Thus, knowledge of this password
  383.         guarantees that level of security is penetrable.
  384.  
  385.      *  On many HP3000 systems, several users log on with the same
  386.         USERNAME.ACCTNAME which means they share the same
  387.         passwords--this reduces security and provides no auditability.
  388.  
  389.      *  Many users treat passwords as a dispensable nuisance, and
  390.         therefore readily reveal their passwords to unauthorized
  391.         persons.
  392.  
  393.      *  Passwords are stored in the system in clear text.  Thus, they
  394.         may be readily found in job streams, discarded LISTDIR
  395.         listings, or on :SYSDUMP tapes.
  396.  
  397. SECURITY/3000 provides several new features:
  398.  
  399. USER ID INTEGRITY
  400. ~~~~~~~~~~~~~~~~~
  401. In addition to conventional MPE passwords, SECURITY/3000 can use a system of
  402. personal profile passwords -- answers to personal questions such as "WHAT IS
  403. YOUR MOTHER'S MAIDEN NAME?", "WHAT IS YOUR FIRST LOVE'S NAME?", etc. Instead
  404. of asking the same question all the time, SECURITY/3000 asks a random one out
  405. of a number of questions (up to 30, user-configurable).  And, instead of
  406. keeping the answers stored in clear text, it encrypts them using a special 
  407. one-way encryption system, through which the answers cannot be decrypted by
  408. anybody (not even VESOFT).  By this, DP personnel are relieved of problems
  409. associated with having readable passwords on the system.
  410.  
  411. Thus, passwords are automatically given a psychological security significance;
  412. knowledge of all personal passwords is required to be sure of being able to
  413. access the system, even though the user is asked only one at logon time; and,
  414. passwords are made impossible to determine.  Even voluntary disclosure is made
  415. difficult.  (The default questions can be configured with custom ones, or
  416. SECURITY/3000 can be configured to instead prompt for a single question rather
  417. than a random personal question).
  418.  
  419. Furthermore, SECURITY/3000 can be configured to differentiate users by session
  420. name by expanding the USER ID to include session name in addition to user and
  421. account name.  This feature permits a better account structure by allowing 
  422. "generic" users to be created with user names describing the users' function
  423. and session names identifying the user (e.g. JOHN,ENTRY.PAYROLL and 
  424. MARY,CLERK.AP).  Thereby, several users could be set up under a common user
  425. name but with different session names, and each one would have unique personal
  426. profile answers, time and day restrictions, menu files, etc.  SECURITY/3000
  427. can therefore enforce the use of correct session name by requiring that a user
  428. logs on using the same session name which was configured when added to the 
  429. security system.
  430.  
  431. In addition, SECURITY/3000 permits the system manager to configure a user with
  432. a wildcard ("@") representing the session name and/or user name and/or account
  433. name, which allows authorization of an Account Manager to log on as any valid
  434. user in his account, or the System Manager to log on as any valid user on the
  435. system, or an ordinary user to log on to several different accounts, etc. 
  436. This permits greater flexibility while still maintaining a high level of
  437. security and providing positive user identification.
  438.  
  439. SECURITY/3000 may be activated for the entire system, for selected accounts,
  440. for only certain users, or for only those logons to certain LDEVs (terminals,
  441. DIAL-UPs, DS lines, etc.).
  442.  
  443.  
  444. TIME OF DAY, DAY OF WEEK, AND TERMINAL RESTRICTIONS
  445. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  446. Most security violations will not occur on Tuesday afternoon at 2:30 in the 
  447. middle of the company's payroll department; they will most likely be done in
  448. the dead of night on a weekend across a telephone line.  If the payroll
  449. clerks work only on weekdays from 9 to 5 on terminals 31, 32, 33, and 35, any
  450. attempt to access the PAYROLL account at any other time from any other place
  451. is inherently a security violation.  HP's logon security system does not 
  452. protect against this, but SECURITY/3000 does!
  453.  
  454.  
  455. LOGON MENUS VS ':'
  456. ~~~~~~~~~~~~~~~~~~
  457. After a user has logged on successfully, it is often undesirable, for reasons
  458. of security and/or user-friendliness, for the user to converse with MPE by
  459. typing MPE commands.  Rather, one would want a menu of allowed commands and
  460. programs the user is permitted to access to be displayed on the terminal;
  461. then, the user could choose one of them.
  462.  
  463. Of course, restricting users from MPE (so that they never get a ':') vastly
  464. improves system security because users are prevented from attempting to breach
  465. security using various "holes" existing in MPE (e.g. :FCOPYing a file
  466. containing a password to the terminal, reading passwords in :RELEASEd job
  467. streams [a hole that doesn't exist if the supplied STREAMX utility is
  468. installed] or even doing :LISTFs in sensitive groups and accounts).
  469.  
  470. This approach is far more common than the often-used method of blocking out
  471. MPE commands by setting up UDC's with the same name, (which can be
  472. circumvented with little effort, such as executing the commands from within
  473. EDITOR or FCOPY) because it is far easier to implement and maintain a system
  474. which INCLUDES the things a user is allowed rather than EXCLUDES the things a
  475. user is not allowed.
  476.  
  477.  
  478. VIOLATION REPORTING
  479. ~~~~~~~~~~~~~~~~~~~
  480. Unlike HP's logon security system, which reports security violations only to
  481. the system console, SECURITY/3000 reports them to the system console (in
  482. inverse video, to distinguish them from ordinary console messages), prints a
  483. user-definable memo to the system line printer, and logs them to its own log
  484. file for future reference (thus providing a permanent record for further 
  485. interrogation).  This "three-alarm" system makes sure that attempted security
  486. violations are acted upon, not ignored. [supposedly]
  487.  
  488.  
  489. AUDIT TRAIL
  490. ~~~~~~~~~~~
  491. Although an Account Manager ID should be able to add, change, or remove user
  492. security within his own account, there must be some means provided to keep
  493. track of his actions.  Under HP's logon security system, an Account Manager
  494. ID can be used to create a fictitious user ID, log on to the system under it,
  495. and do something that he shouldn't be doing without being afraid of getting
  496. caught.  With SECURITY/3000, all user additions, changes, and deletions are
  497. logged to the SECURITY log file, thus allowing an auditor or System Manager
  498. to determine who created, altered, or removed a given user ID.
  499.  
  500.  
  501. ENFORCING REGULAR PASSWORD CHANGES BY OBSOLETING MPE PASSWORDS
  502. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  503. OBSOL, SECURITY/3000's MPE Password Obsolescence System, ensures that MPE
  504. passwords are changed on a regular basis, which can be defined for each
  505. password.  Users are warned before a password will expire (configurable as to
  506. the number of days) to get their password changed. 
  507.  
  508.  
  509. PERMITTING USERS TO CHANGE THEIR OWN MPE PASSWORDS
  510. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  511. MPE's security makes changing user passwords quite difficult.  Since only an
  512. Account Manager can change a user password, changing passwords is actually
  513. discouraged!  A user will feel reluctant to take the time to get hold of his
  514. Account Manager to have his password changed (even if he, the user, suspects
  515. it has been compromised); an Account Manager is very likely to put off
  516. changing passwords if it means changing them for all 100 users in his account.
  517. The SECURITY/3000 package contains "PASCHG" a program that allows users to
  518. change their own passwords (not other users' unfortunately); this poses no
  519. security threat; in fact, it actually improves security by making it easier
  520. for users to get their own password changed. 
  521.  
  522.  
  523. ELIMINATING PASSWORDS IN JOB STREAMS
  524. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  525. The requirement of keeping passwords in clear text in job streams is a big
  526. security flaw because anyone with READ access to the job stream can read the
  527. passwords, and any listing of the job contains the password.  More 
  528. importantly, since changing a password means having to change every single job
  529. that contains it, these passwords are virtually guaranteed never to be
  530. changed.
  531.  
  532. STREAMX eliminates the need to embed passwords, lockwords, and other sensitive
  533. information in job streams, while adding additional flexibility to jobs by
  534. permitting parameter passing.
  535.  
  536.  
  537. DIAL-UP, TERMINAL AND DS SECURITY
  538. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  539. Also desirable is the ability to put a password on a DIAL-UP line, DS line, or
  540. terminal, regardless of the user trying to log on.  That way, if a hacker
  541. or "inside" violator attempted to log on to a DIAL-UP, he would have to know
  542. the password for the DIAL-UP, which could be changed every day.
  543.  
  544. In addition, the high level of user authentication that the logon procedure in
  545. SECURITY/3000 provides can be linked with the terminal and DIAL-UP security by
  546. conditionally invoking the SECURITY/3000 logon security based on LDEV to which
  547. a user is logging on.
  548.  
  549. This type of terminal security is provided by the TERMPASS utility. 
  550.  
  551.  
  552. AUTOMATIC LOGOFF OF INACTIVE USERS
  553. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  554. Another threat to system security is a very common one:  a user goes on a
  555. break or to lunch without logging off.  By this, a would-be thief could just
  556. walk up to a terminal and use it--without even having to log on.  There are
  557. times when users forget to sign off even before going home for the day, (which
  558. holds up system backups.
  559.  
  560. The LOGOFF utility allows automatic log off of terminals on which users have
  561. been inactive for a given period of time. 
  562.  
  563.  
  564.  
  565. Now that we have had a general overview of SECURITY/3000's many features, lets
  566. take a much more detailed look into the logon security system.
  567.  
  568.  
  569. WHAT HAPPENS AT LOGON TIME
  570. ~~~~~~~~~~~~~~~~~~~~~~~~~~
  571. With the Logon Security System if SECURITY/3000 invoked, whenever a user logs
  572. on (before he gets the ':' prompt and after he types in his MPE passwords [if
  573. he has any]), SESSION, TIME, DAY, and TERMINAL restrictions which may have
  574. been placed on the user are verified--if the user is not within the allowed
  575. time and day limits or if he is attempting to log on from a terminal he is not
  576. authorized to use, he is denied access to the system (i.e. logged off), an
  577. inverse-video message describing the failed logon attempt is sent to the
  578. console, a memo is printed off the line printer, and an entry is logged to the
  579. SECURITY log file.
  580.  
  581. If the user, for some reason, replies incorrectly to the original question, he
  582. is given as many more chances as are configured (two by default); he is asked
  583. to reply to the SAME QUESTION additional times--if he does not give the
  584. correct answer on any of these attempts, he is logged off and the violation
  585. reporting described above is done.  If, however, he replies correctly to any
  586. of the question prompts, he is allowed on the system.
  587.  
  588. Here is an example of the logon conversation:
  589.  
  590.      :HELLO JOHN,CLERK.PAYROLL
  591.  
  592.      WHERE WAS YOUR FATHER BORN?  << incorrect answer entered >>
  593.      Error: The answer given was INCORRECT
  594.      WHERE WAS YOUR FATHER BORN?  << now a correct answer is entered >>
  595.      Welcome! You are now signed on.
  596.  
  597.      END OF PROGRAM
  598.      :   << you have signed on successfully, you are now in MPE >>
  599.  
  600. An Account or System Manager can set up a special LOGON MENU for some or all
  601. users.  If this has been done, a menu will roll up on the screen immediately
  602. after the logon question is answered.
  603.  
  604. At this point, the user should enter the number of the selection that he
  605. wishes to invoke, or 'E' to exit.  If he enters a selection number, that
  606. selection is invoked, and, when it is done, the menu is redisplayed.  When the
  607. user types 'E', he is logged off the system.
  608.  
  609.  
  610. How to ADD users to the Logon Security System
  611. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  612. Of course, before the system can ask users questions at logon time, it must
  613. know the correct answers.  So, the Account or System Manager must add each
  614. user to the Logon Security System data base (ANSWER.DATA.SECURITY), specifying
  615. the user name, account name, and session name (which comprise the "USER ID")
  616. and time, day, and terminal restrictions, the menu file name (WHICH MUST HAVE
  617. BEEN CREATED ALREADY) and then have the user input the answers to the personal
  618. profile questions.
  619.  
  620. To enter users, log on as Account Manager (to add users under an account) or
  621. System Manager (to add any user) and then
  622.  
  623.      :RUN USER.PUB.SECURITY,ADD
  624.  
  625. Following are the items that this option prompts for: 
  626. (type '?' for help any time you don't know what to enter or how to enter it)
  627.  
  628.      Enter user name:
  629.  
  630. Enter the MPE user name of the user to be added into the Logon Security
  631. System.  This user must exist in MPE already.  Or you may enter an "@", which
  632. means "any user" (or hit <return> to exit).
  633.  
  634.      Enter account name:
  635.  
  636. You are asked this only if you are the System Manager; if you are an Account
  637. Manager, this will default to your account name.  You may enter an "@" which
  638. means any account (or hit <return> to exit).
  639.  
  640.      Enter session name:
  641.  
  642. The system permits securing users by session name as well as user name and
  643. account name.  Enter the session name which the user should use at logon or
  644. hit <return> if the user will not use a session name, or enter an "@" if the
  645. user may log on with different session names.
  646.  
  647. NOTE: This feature may be used to create a better account structure --
  648.       instead of creating MPE users by first name (JOHN, MARY, etc.) the
  649.       Account Manager can create "generic" user names based on the functions
  650.       existing within a department (CLERK, SUPER, MANAGER, etc.).  When
  651.       several people share the same function, the Logon Security System will
  652.       differentiate them by session name which can be the person's first name.
  653.       Example of such logons are :HELLO MARY,MANAGER.PAYROLL and :HELLO
  654.       JOHN,CLERK.PAYROLL.  The session name may be retrieved by your
  655.       application programs and then carried through your application system
  656.       along with the transaction record.
  657.  
  658.      Enter user's real name:
  659.  
  660. This is the real name of the user (for instance, JOHN Q. DOE).  This
  661. information is used on the printed security violation memo and some log file
  662. entries.
  663.  
  664.      Enter the permitted terminal numbers:
  665.  
  666. Enter up to 30 logical device numbers on which the user is to be permitted to
  667. log on, separated by commas (for instance, '220,55,73').  Hit <return> to
  668. permit access by the user on all terminals. (See the "REMOTE" section of this
  669. manual for details about putting a password on a dial-up, DS line, or other 
  670. terminal, regardless of where the user is logging on to.)
  671.  
  672.      Enter the day-of-week access restrictions:
  673.  
  674. To permit the user to log on only on certain days of the week, enter a day of
  675. the week (e.g. 'WEDNESDAY' means the user can log on only on Wednesdays) or
  676. two days of the week separated by a '-' (e.g. 'MON-FRI' means the user can log
  677. on only on Monday through Friday).  Days may be spelled out or abbreviated to
  678. 3 characters.  Hit <return> to permit access on all days.
  679.  
  680. Abbreviations allowed:  'SUN', 'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT'
  681.  
  682.      Enter the time-of-day access restrictions:
  683.  
  684. To allow the user to log on only at certain times of the day, enter the
  685. starting hour followed by a '-' followed by the ending hour (e.g. '9-17' means
  686. that the user can sign on from 9 am to 5 pm).  Hit <return> to permit access
  687. at any time of day.
  688.  
  689.      Enter the menu filename:
  690.  
  691. If you wish to set up a logon menu for this user, enter the name of the menu
  692. file.  THE MENU FILE MUST HAVE ALREADY BEEN CREATED (see "LOGON MENUS FOR 
  693. SECURITY AND CONVENIENCE" in this manual for details on how to set up a menu).
  694. If you wish the user to instead be allowed to access MPE directly, just hit
  695. <return>.
  696.  
  697. If you did not create the menu file already, hit <return> (for none), continue
  698. entering the user info, and add the menu file later (see "How to CHANGE users
  699. in the Logon Security System" later in this file).
  700.  
  701.      Should the user be asked personal profile questions (Y/N)?
  702. If you want the user to be asked a personal profile question at logon, type
  703. 'Y'.  If you do not want a personal profile question to be asked (but still
  704. have all other access restrictions apply), type 'N'.
  705.  
  706. The user is then added to the Logon Security System, a message is printed 
  707. acknowledging the addition of the user, and you are prompted for another user
  708. (hit <return> to exit).  Note that all successful user additions are logged to
  709. the SECURITY log file.
  710.  
  711. NOTE: The ADD option requires Account/System Manager capability!
  712.  
  713. Following is an example of this option:
  714.  
  715.      :RUN USER.PUB.SECURITY,ADD
  716.      SECURITY/ADD Version 0.5 (VESOFT (C) 1981) For help type '?'
  717.  
  718.      Enter user name:   CLERK
  719.      Enter account name:   PAYROLL
  720.      Enter session name:  JOHN
  721.      Enter user's real name: JOHN Q. DOE
  722.      Enter permitted terminal numbers: 34,35,36,37,50,52,53,54
  723.      Enter day of week access restrictions: MON-FRI
  724.      Enter time of day access restrictions:  << <return> hit >>
  725.      Enter menu filename: CLERK.MENU.PAYROLL
  726.      Should the user be asked personal profile questions (Y/N)? Y
  727.  
  728.      WHAT IS YOUR MOTHER'S MAIDEN NAME?     << user answers, no echo >>
  729.      WHAT ELEMENTARY SCHOOL DID YOU GO TO?  << user answers, no echo >>
  730.      WHERE WAS YOUR FATHER BORN?            << user answers, no echo >>
  731.      WHAT IS YOUR FIRST LOVE'S NAME?        << user answers, no echo >>
  732.      *** User has been added ***
  733.  
  734.      Enter user name:  << <return> hit to exit >>
  735.  
  736. Note that all successful user ADDs are logged to the SECURITY log file.
  737.  
  738. ANOTHER NOTE: Before starting the ADD option you may wish to get HELP.
  739.      To do so say
  740.  
  741.      :FILE CICAT.PUB.SYS=USER.HELP.SECURITY
  742.      :HELP
  743.  
  744. IMPORTANT:  Before this user attempts to log on, the Logon
  745. Security System must be activated--see "ACTIVATING THE LOGON SECURITY
  746. SYSTEM" later in this file.
  747.  
  748.  
  749. How to CHANGE users in the Logon Security System
  750. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  751. It may occur that an incorrect response was given to the ADD-time
  752. configuration and personal profile questions or you may want to permit a user
  753. to change his answers to the personal profile questions (which is all he is
  754. permitted to do in this option); so to make changes to existing user profiles:
  755.  
  756.      :RUN USER.PUB.SECURITY,CHANGE
  757.  
  758. The CHANGE option prompts you for:  (type '?' for help at any prompt)
  759.  
  760.      Enter user name:
  761.  
  762. Enter the user name of the user to be changed.  If you are not an Account or
  763. System Manager, this defaults to the logon user, (or hit <return> to exit).
  764.  
  765.      Enter account name:
  766.  
  767. Enter the account of the user ID to be changed.  If you are not System
  768. Manager, this defaults to the logon account, (or hit <return> to exit).
  769.  
  770.      Enter session name:
  771.  
  772. Enter the session name entered at user ADD time.  If none was entered, hit
  773. <return>.
  774.  
  775. This option now displays a menu of items corresponding to the configuration
  776. and personal profile questions, and you are prompted for the item to be
  777. changed.  After you change an item, it continues to prompt you until you hit
  778. <return>.  (If the menu rolls off the screen, type 'R' to redisplay it.)  An
  779. Account or System Manager can change anything; an ordinary user can change
  780. only his answers to the personal profile questions.
  781.  
  782. Following is an example of the CHANGE option:
  783.  
  784.      :RUN USER.PUB.SECURITY,CHANGE
  785.      SECURITY/CHANGE Version 0.5 (VESOFT (C) 1981) For help type '?'
  786.  
  787.      Enter user name:   CLERK
  788.      Enter account name:   PAYROLL
  789.      Enter session name:  JOHN
  790.  
  791.      R: Redisplay this menu
  792.      U: User info (user, account, session)
  793.      N: User's real name
  794.      T: Permitted terminal numbers
  795.      D: Day-of-week access restrictions
  796.      H: Time-of-day access restrictions
  797.      M: Menu file name
  798.      A: Ask personal profile questions?
  799.      1: WHAT IS YOUR MOTHER'S MAIDEN NAME:
  800.      2: WHERE WAS YOUR FATHER BORN:
  801.      3: WHAT ELEMENTARY SCHOOL DID YOU GO TO:
  802.      4: WHAT IS YOUR FIRST LOVE'S NAME:
  803.  
  804.      Enter item number to change:  M  << change menu file name >>
  805.      Menu file name is now: PAYCLERK.MENU.PAYROLL
  806.      Enter NEW menu file name: PAYSUPER.MENU.PAYROLL
  807.      Enter item number to change:  << <return> hit to exit >>
  808.      *** User has been changed ***
  809.      Enter user name:   << <return> hit to exit >>
  810. Note that all successful user CHANGEs are logged to the SECURITY log file.
  811.  
  812.  
  813. How to COPY users in the Logon Security System
  814. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  815. On some systems a certain user (System Manager, for example) may be required
  816. to access more than one account and therefore may log on with more than one
  817. user ID.  This is where the copy option will save you time because it allows
  818. an Account or System Manager to copy a given user's security configuration and
  819. personal profile answers to a new user in the data base.  An Account Manager
  820. can copy only users within his account, whereas the System Manager can copy
  821. users anywhere on the system.  To enter copy mode, execute a:
  822.  
  823.      :RUN USER.PUB.SECURITY,COPY
  824.  
  825. Following are the items that this option will ask for
  826. (type '?' for help at any prompt)
  827.  
  828.      Enter original user name:
  829.  
  830. The user name of the user to be copied.  This user must exist in the data base
  831. already, (or hit <return> to exit).
  832.  
  833.      Enter original account name:
  834.  
  835. The account of the user to be copied.
  836. If you are not System Manager, this defaults to the logon account.
  837. (Hit <return> to exit.)
  838.  
  839.      Enter original session name:
  840.  
  841. The session name with which the user is configured in the user data base (the
  842. session name that was specified at ADD time).  If no session name was 
  843. specified, hit <return>.
  844.  
  845.      Enter new user name:
  846.  
  847. The user name to which the original user's security parameters (configuration
  848. and personal profile answers) should be copied.  This user must exist in MPE
  849. already, (or hit <return> to exit).
  850.  
  851.      Enter new account name:
  852.  
  853. The account to which the original user's security parameters should be copied.
  854. This account must exist in MPE already.  If you are not System Manager,
  855. defaults to the logon account, (or hit <return> to exit).
  856.  
  857.      Enter new session name:
  858.  
  859. The session name which the user should use at logon, or hit <return> if the
  860. user will not use a session name.
  861.  
  862. Following is an example of the copy option:
  863.  
  864.      :RUN USER.PUB.SECURITY,COPY
  865.      SECURITY/COPY Version 0.5 (VESOFT (C) 1981) For help type '?'
  866.  
  867.      Enter original user ID
  868.      Enter user name: CLERK
  869.      Enter account name: PAYROLL
  870.      Enter session name:  JOHN
  871.  
  872.      Enter new user ID
  873.      Enter user name: CLERK
  874.      Enter account name: ORDER
  875.      Enter session name:  JOHN
  876.  
  877.      *** User information has been copied ***
  878.  
  879.      Enter original user ID
  880.      Enter user name:  << <return> hit to exit >>
  881.  
  882. Note that all successful user COPYs are logged to the SECURITY log file.
  883.  
  884.  
  885. How to DELETE users from the Logon Security System
  886. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  887. When you delete users from MPE, you should delete them from the Logon Security
  888. System as well.  Users must exist in MPE in order to be deleted from the Logon
  889. Security System, so if you wish to delete a user from both, you should delete
  890. him from the Logon Security System by using this option BEFORE doing a 
  891. :PURGEUSER.  To do this:
  892.  
  893.      :RUN USER.PUB.SECURITY,DELETE
  894.  
  895. This option prompts you for (type '?' for help at any prompt)
  896.  
  897.      Enter user name:
  898.  
  899. The user name of the user to be deleted, (or hit <return> to exit).
  900.  
  901.      Enter account name:
  902.  
  903. The account of the user to be deleted.  If you are an Account Manager and not
  904. the System Manager, this will default to the logon account, ( or hit <return>
  905. to exit).
  906.  
  907.      Enter session name:
  908.  
  909. The session name specified at user ADD time.
  910. If none was specified, hit <return>.
  911.  
  912. NOTE: This option requires Account/System Manager capability!
  913.  
  914. Following is an example of the DELETE option:
  915.  
  916.      :RUN USER.PUB.SECURITY,DELETE
  917.      SECURITY/DELETE Version 0.5 (VESOFT (C) 1981) For help type '?'
  918.      Enter user name:   CLERK
  919.      Enter account name:   PAYROLL
  920.      Enter session name:   JOHN
  921.      *** User has been deleted ***
  922.  
  923.      Enter user name:   << <return> hit to exit >>
  924.  
  925.  
  926. Note that all successful user DELETEs are logged to the SECURITY log file.
  927.  
  928.  
  929. How to SET UP users who use MULTIPLE LOGON IDs
  930. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  931. Users are normally defined in the Logon Security System with the specific
  932. session name, user name, and account name (user ID) with which they log on.
  933. In some environments, a user may be authorized to use more than one user ID to
  934. log on, depending on the function he is performing.  For example, a user who
  935. uses the Payroll, Accounts Payable, and General Ledger systems may log on with
  936. three user IDs, i.e. JOHN,CLERK.PAYROLL, JOHN,CLERK.AP and JOHN,CLERK.GL.  For
  937. this, the COPY option of the USER.PUB.SECURITY program is useful because one
  938. user may be set up with the proper security parameters and the information may
  939. be COPYd to the other two user IDs.
  940.  
  941. It is also possible that an Account Manager will want to be allowed to log on
  942. as any user in his account; or the System Manager will want to log on as any
  943. user on the system.  The Logon Security System permits you to set up a user
  944. who is authorized to log on using many different user IDs by specifying "@"
  945. as the session name and/or user name and/or account name.
  946.  
  947. For example, if you wanted to set up the System Manager, Mike, so that he
  948. could log on as any user on the system, you could create a user called
  949.  
  950.      MIKE,@.@
  951.  
  952. by responding to the prompts of the ADD option as follows:
  953.  
  954.      Enter user name:  @
  955.      Enter account:  @
  956.      Enter session name:  MIKE
  957.  
  958.  
  959. If you wanted to set up the Account Manager of the PAYROLL account, Jane, so
  960. that she could log on as any user in her account, you would create a user
  961. called JANE,@.PAYROLL by responding to the ADD prompts as follows:
  962.  
  963.      Enter user name:  @
  964.      Enter account:  PAYROLL
  965.      Enter session name:  JANE
  966.  
  967. Jane would be allowed to log on using any valid user name in the account, and
  968. the same personal profile and security restrictions would be used.
  969.  
  970.  
  971. ACTIVATING THE LOGON SECURITY SYSTEM
  972. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  973. The Logon Security System may be imposed on the entire system, for selected
  974. accounts, for only certain users, or for only logons to certain LDEVs
  975. (terminals, dial-up lines, DS lines, etc.).
  976.  
  977. To activate the Logon Security System for selected accounts or users, the
  978. Account or System Manager must set up an "OPTION LOGON" UDC that will invoke
  979. the USER.PUB.SECURITY program.  The UDC is stored in the file
  980. SECURUDC.PUB.SECURITY
  981.  
  982. SECURUDC
  983. OPTION LOGON, NOBREAK
  984. comment
  985. comment  *******************************************
  986. comment  JCW is set 1717 by TERMPASS when $SECURITY
  987. comment  keyword is specified for the logon port.
  988. comment  Please see the TERMPASS.DOC.SECURITY.
  989. comment  *******************************************
  990. comment
  991. IF JCW<>1717 THEN
  992.   SETJCW SECURITYANSWER=0
  993.   CONTINUE
  994.   RUN USER.PUB.SECURITY,LOGON
  995.   IF SECURITYANSWER = 1  THEN
  996.      BYE
  997.   ENDIF
  998. ENDIF
  999.  
  1000. Because the Logon Security System is activated by a UDC, you can limit the
  1001. system's scope by setting the UDC at the level (either user, account, or
  1002. system) where it is appropriate.  So to invoke the Logon Security System for
  1003. the logon account, the Account Manager can do the following:
  1004.  
  1005. WARNING:  DO NOT PERFORM THE FOLLOWING UNLESS YOU HAVE AUTHORIZED
  1006.           YOURSELF AS A USER (see "How to ADD users to the Logon
  1007.           Security System" in this section).  OTHERWISE, YOU MAY LOCK
  1008.           UP YOUR ACCOUNT!
  1009.  
  1010.      :SETCATALOG SECURUDC.PUB.SECURITY;ACCOUNT
  1011.  
  1012. (In spite of this warning, if you DID lock up your account, log on to some
  1013. other account, create the following file in your editor:
  1014.  
  1015.      !JOB MGR/password.ACCOUNT/password  << the locked-up account >>
  1016.      !SETCATALOG;ACCOUNT
  1017.      !EOJ
  1018.  
  1019. and :STREAM it.)
  1020.  
  1021.  
  1022. Once the SECURUDC is set, whenever a user who is affected by this UDC tries to
  1023. sign on, the Logon Security System is invoked and the time, day, and terminal
  1024. restrictions, etc., will be applied.
  1025.  
  1026. If the account or a user in the account has a logon UDC, that UDC should be
  1027. changed to do as its first command the execution of SECURUDC; e.g. if you
  1028. want to have a logon UDC that does a SHOWJOB, use the following UDC:
  1029.  
  1030.      LOGONUDC
  1031.      OPTION LOGON, NOBREAK
  1032.      SECURUDC
  1033.      SHOWJOB
  1034.      ***
  1035.  
  1036. Note that the UDC SECURUDC must have also been set for the user or account in
  1037. question, e.g.
  1038.  
  1039.      :SETCATALOG MYUDC, SECURUDC.PUB.SECURITY
  1040.  
  1041. It is also recommended that you
  1042.  
  1043.      :ALLOCATE USER.PUB.SECURITY
  1044.  
  1045. to speed things up when logging on, and also so that it will function during
  1046. backups.
  1047.  
  1048.  
  1049. LOGON MENUS FOR SECURITY
  1050. ~~~~~~~~~~~~~~~~~~~~~~~~
  1051. Of course, by restricting users from MPE (so that they never get a ':') you
  1052. are vastly improving security on your system because users are prevented from
  1053. attempting to breach security using various "holes" existing in MPE 
  1054. (e.g. :FCOPYing a file containing a password to the terminal, :SHOWCATALOGs,
  1055. or even doing :LISTFs in sensitive groups and accounts).
  1056.  
  1057. SECURITY/3000's menu subsystem implements this kind of closed system where you
  1058. specify what the user is allowed to do.
  1059.  
  1060. If you, the Account or System Manager, want to limit a user's access via a
  1061. menu, you must first build a file (the "menu file") in your editor describing
  1062. the menu (the user must have READ access to it).
  1063. A menu file consists of:
  1064.  
  1065.  
  1066. *HEADER   Optionally, any number of '*HEADER' lines, which contain
  1067.           text to be printed when the menu is invoked.  A common use
  1068.           for this is to print some form of menu identification, e.g.
  1069.  
  1070.                *HEADER  ****************************
  1071.                *HEADER   MAIN ACCOUNTS PAYABLE MENU
  1072.                *HEADER  ****************************
  1073.  
  1074.           You may also put escape sequences to control the display
  1075.           on a *HEADER line (e.g. <escape-H> <escape-J> to home the
  1076.           cursor and clear the screen before displaying the menu).
  1077.  
  1078.  
  1079. *CAPTION  Up to 24 selection descriptors.  Each section descriptor
  1080.           consists of one
  1081.           '*CAPTION' line followed by a number of body lines.
  1082.           The '*CAPTION' line defines what this selection should be
  1083.           identified as on the menu, e.g.
  1084.  
  1085.                *CAPTION   INVOICE ADDITION
  1086.  
  1087.           The body lines contain the commands to be executed when
  1088.           the selection is chosen.  A body line can be:
  1089.  
  1090.  
  1091.           MPE       Any MPE command or commands, including :RUN,
  1092.           command   :IF, :ELSE, and :ENDIF, e.g.
  1093.  
  1094.                          FILE D=DATA.PUB.AP
  1095.                          RUN INVADD.PUB.AP
  1096.                          LISTF XYZ.PUB;$NULL
  1097.                          IF CIERROR = 907 THEN
  1098.                             RUN UPDATE.PUB;PARM=1
  1099.                          ELSE
  1100.                             DISPLAY Update system in use
  1101.                          ENDIF
  1102.  
  1103.  
  1104.  
  1105.           DISPLAY   which causes the specified string to be
  1106.                     displayed to the terminal, e.g.
  1107.  
  1108.                          DISPLAY This system inoperative until Friday
  1109.                          DISPLAY Contact Joe Martin at ext. 283
  1110.  
  1111.  
  1112.           VEMENU    which invokes VEMENU with the specified menu file.
  1113.                     This permits "nested menus", e.g.
  1114.  
  1115.                          VEMENU NEWORDER.ENTRY.PURCH  << menu file >>
  1116.  
  1117.  
  1118.           USE       which executes commands from the specified file,
  1119.                     e.g.
  1120.  
  1121.                          USE ENTRY.PROC.GL  << file containing set of
  1122.                                                file equations and
  1123.                                                commands for entry of
  1124.                                                GL information >>
  1125.  
  1126.  
  1127.           EXIT      which exits VEMENU and logs the user off the system.
  1128.  
  1129. Thus, a simple menu file may be created as follows:
  1130.  
  1131.      :EDITOR
  1132.      /ADD
  1133.          1      *HEADER    *************************************
  1134.          2      *HEADER           ACCOUNTS PAYABLE SYSTEM
  1135.          3      *HEADER         CHOOSE ONE OF THE FOLLOWING:
  1136.          4      *HEADER    *************************************
  1137.          5      *HEADER
  1138.          6      *CAPTION VENDOR MAINTENANCE
  1139.          7               FILE APDB=APDB.DATABASE.AP
  1140.          8               RUN AP010
  1141.          9      *CAPTION INVOICE MAINTENANCE
  1142.          10              FILE APDB=APDB.DATABASE.AP
  1143.          11              RUN AP020
  1144.          12     *CAPTION CHECK PRINTING
  1145.          13              FILE STRMFILE=CHKPRINT.JOB.AP   << job stream
  1146.          14              RUN STREAMX.PUB.SECURITY;PARM=1 << which asks
  1147.          15     *CAPTION ARCHIVE            << for starting check # >>
  1148.          16              DISPLAY Sorry, archive system not yet ready
  1149.          17              DISPLAY -- see system management
  1150.          18     *CAPTION GO TO ACCOUNTS RECEIVABLE MENU
  1151.          19              VEMENU ARMENU.PUB.AR
  1152.      /KEEP MAINMENU.PUB.PAYROLL
  1153.      /EXIT
  1154.  
  1155. Then, add the user to the Logon Security System, entering the name of the menu
  1156. file when prompted for it; if the user has already been set up in the Logon
  1157. Security System, use the CHANGE option to change his menu file name to the
  1158. menu file he is to use. If you decide that a user should go directly into MPE
  1159. when he logs on instead of using a menu, just hit <return> when prompted for
  1160. the name of the menu file.
  1161.  
  1162. Whenever a user who is configured in the Logon Security System with a menu
  1163. file logs on, the menu contained in that file is displayed and he is asked to
  1164. choose a selection or hit 'E' to exit.  When a selection is chosen, the
  1165. commands specified in the selection body are executed.
  1166.  
  1167. When that menu option has completed, the user is returned to the menu and
  1168. asked to choose another selection.  This continues until either the user
  1169. enters 'E' or a selection chosen by the user executes an 'EXIT' command.  When
  1170. the user exits the menu, he is automatically logged off.  AT NO TIME IS THE
  1171. USER EVER LET INTO MPE!
  1172.  
  1173. Of course, different users can have different menu files.  For instance, if
  1174. you have an Accounts Payable system--in which you have clerks who can add and
  1175. delete invoices; supervisors who can add and delete vendors as well as
  1176. invoices; and a manager who can add and delete vendors, add and delete
  1177. invoices, and print checks--you can have one menu file for clerks, another
  1178. menu file for supervisors, and a third for the manager.  (Remember that if
  1179. several users share the same function, you can have them all use a common user
  1180. name and differentiate them by their session)
  1181.  
  1182.  
  1183. ATTEMPTED SECURITY VIOLATION LOGGING
  1184. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1185. When an attempted violation occurs, the Logon Security System makes it
  1186. possible to catch the violator "in the act" by immediately providing the
  1187. necessary information about the attempted security breach.
  1188. If a violation attempt occurs--meaning a user has responded incorrectly to a
  1189. logon question or has attempted to log on at an unauthorized time, on an
  1190. unauthorized day, or from an unauthorized terminal--the Logon Security System
  1191. will immediately:
  1192.  
  1193.      *  Send a descriptive message to the system console, in inverse
  1194.         video, to distinguish it from other console messages
  1195.  
  1196.      *  Print a violation memo off the system line printer (device class
  1197.         LP) or a designated printer (see "SETTING ATTEMPTED SECURITY
  1198.         VIOLATION MEMO ROUTING PARAMETERS" in this section).
  1199.  
  1200.      *  Log an entry to the SECURITY log file.
  1201.  
  1202.              LOG.DATA.SECURITY
  1203.  
  1204.         This file is initially built as a 5,000-record circular file,
  1205.         so if the file fills up, new entries will be appended while
  1206.         the oldest entries are dropped.
  1207.  
  1208. This provides sufficient information for the System Manager to immediately
  1209. respond to the attempted security breach.  The System Manager may also "hang"
  1210. the terminal at this point (while someone is waiting to be logged on) for a
  1211. while to give himself more time to respond, or to disable that device so that
  1212. additional logon attempts are disallowed.
  1213.  
  1214.  
  1215. How to LIST the security LOG FILE
  1216. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1217. Information about all changes to user status (add, change, delete) and all
  1218. violation attempts are logged to the SECURITY/3000 log file with pertinent
  1219. information about the time and date of the action, terminal on which the
  1220. action took place, and the user who performed the action (including session
  1221. name).  SECURITY/3000 may be configured to log all successful logons,
  1222. providing an excellent audit trail of system access.
  1223.  
  1224. The following violation messages are logged:
  1225.  
  1226.      BAD USER       Logon attempted by unauthorized user
  1227.      BAD RESPONSE   Question was answered incorrectly
  1228.      BAD DAY        Logon attempted on unauthorized day
  1229.      BAD TIME       Logon attempted at unauthorized time
  1230.      BAD TERMINAL   Logon attempted on unauthorized terminal
  1231.      INVALID TERMINAL PASSWORD   Invalid terminal password was entered
  1232.                                  (see the "REMOTE" section of this
  1233.                                  manual for details).
  1234.  
  1235. and the following update messages are logged:
  1236.  
  1237.      Add            Addition of a user to the Logon Security System
  1238.      Change         Change made to a user in the Logon Security System
  1239.      Copy           Security profile copies from one user to another
  1240.      Delete         User deleted from Logon Security System
  1241.  
  1242. and the following successful logon messages are optionally logged:
  1243.  
  1244.     'SUCCESSFUL LOGON'           Valid logon through LOGON SECURITY
  1245.     'SUCCESSFUL TERMINAL LOGON'  Valid logon through the TERMPASS
  1246.  
  1247. This file can be later listed to the terminal or line printer, and can be
  1248. cleared after review.  An Account Manager can list messages in his account,
  1249. and the System Manager can list the entire file; (only the System Manager can
  1250. clear the file.)  An ordinary user is not permitted to use this option.
  1251.  
  1252.       :RUN USER.PUB.SECURITY,LISTLOG
  1253.  
  1254. When you run this option, you are prompted for whether the listing is to go to
  1255. the line printer (reply 'L') or to the terminal (reply 'T').  If the line
  1256. printer is selected, the log file is dumped (in a readable format) to the line
  1257. printer (device class LP).  If the terminal is selected, the same printout is
  1258. generated except that users' real names are not printed.
  1259.  
  1260. To redirect the listing from the default (DEV=LP) to some other device or a
  1261. disc file, issue a file equation for SECLIST, e.g.
  1262.  
  1263.      :FILE SECLIST=MYLOGLST;ACC=OUT;DEV=DISC;NOCCTL;REC=,,,ASCII;SAVE
  1264.  
  1265. Following is an example of the use of this option:
  1266.  
  1267.      :RUN USER.PUB.SECURITY,LISTLOG
  1268.      SECURITY/LISTLOG Version 0.5 (VESOFT (C) 1981) For help type '?'
  1269.  
  1270.      Listing to (L)ine printer or (T)erminal: T
  1271.       Type :  Date    Time  Dev Logon                Target user/
  1272.                                                      Violatn type
  1273.      Add   :20JUL85  5:17PM 33  DON,MANAGER.PAYROLL  ENTRY.PAYROL
  1274.      Violat:21JUL85  9:23AM 117 READER,LABOR.PAYROLL BAD USER
  1275.      Violat:21JUL85  9:23AM 117 SALLY,ENTRY.PAYROLL  BAD RESPONSE
  1276.      Change:21JUL85 10:17AM 25  BILL,MANAGER.SYS     ENTRY.PAYROL
  1277.      Violat:24JUL85  2:33PM 117 R1,ENTRY.PAYROL      BAD DAY
  1278.      Violat:26JUL85  1:54PM 103 R1,ENTRY.PAYROL      BAD TERMINAL
  1279.      Logon :26JUL85  2:00PM  25 ENTRY.PAYROL         SUCCESSFUL LOGON
  1280.      *** Log file has been printed ***
  1281.  
  1282.  
  1283. How to CLEAR the security LOG FILE
  1284. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1285. Of course you may have good reason to clear the SECURITY log so:
  1286.  
  1287.      :RUN USER.PUB.SECURITY,CLEARLOG
  1288.  
  1289. to clear the log file.
  1290.  
  1291. This option will not prompt you for any input.
  1292.  
  1293. NOTE:  This option can be used by the System Manager only.
  1294.  
  1295. A sample run of this option follows:
  1296.      :RUN USER.PUB.SECURITY,CLEARLOG
  1297.      SECURITY/CLEARLOG Version 0.5 (VESOFT (C) 1981) For help type '?'
  1298.  
  1299.      *** Log file has been cleared ***
  1300.  
  1301.  
  1302. CONFIGURING SECURITY/3000
  1303. ~~~~~~~~~~~~~~~~~~~~~~~~~
  1304. Several configuration options (described below) may be specified in the
  1305. security configuration file,
  1306.  
  1307.      SECURMGR.PUB.SECURITY
  1308.  
  1309. This file is created at installation time with default values, which may be
  1310. modified as described in the options below.
  1311.  
  1312.  
  1313. DISALLOWING CONCURRENT SESSIONS
  1314. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1315. As you may know, MPE allows several users with an identical user/account name
  1316. (e.g. USER.PAYROLL) to be logged on simultaneously.  A user is therefore
  1317. permitted to be logged on to more than one terminal and have more than one
  1318. session running concurrently, which may be undesirable.
  1319.  
  1320. As one of our users pointed out, "No individual could fully control the
  1321. activity on two terminals at a time and hence while on one terminal,
  1322. unauthorized use could be made of the other."
  1323.  
  1324. The Logon Security System may be configured to disallow more than one session
  1325. with a given user ID to be logged on concurrently.  Remember that we consider
  1326. session name to be part of the user ID, so JOE,USER.GL and MARY,USER.GL are
  1327. recognized as being different, even though the MPE user name is the same.
  1328.  
  1329. With concurrent sessions disallowed, if someone attempts to log on with a user
  1330. ID exactly the same as a user who is already logged on, he is not let on the
  1331. system.  Furthermore, a message is sent to the already-logged-on terminal to
  1332. let that user know that someone is attempting a secondary logon.
  1333.  
  1334. To disallow concurrent sessions, add the following line to the SECURMGR file:
  1335.  
  1336.      CONCURRENT-SESSION=NO
  1337.  
  1338. Of course we would rather allow concurrent sesseons, so change it to:
  1339.  
  1340.      CONCURRENT-SESSION=YES     
  1341.  
  1342. By default, concurrent sessions are permitted.
  1343.  
  1344.  
  1345. ELIMINATING SESSION NAME CHECK
  1346. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1347. SECURITY/3000 differentiates users by session name by expanding the user ID to
  1348. include session name in addition to user and account name.  This feature
  1349. permits a better account structure by allowing "generic" users to be created
  1350. with user names describing the users' function and session names identifying
  1351. the individual user (e.g. JOHN,ENTRY.PAYROLL and MARY,CLERK.AP).  Thereby,
  1352. several users could be set up under a common user name but with different
  1353. session names, and each one would have unique personal profile answers, time
  1354. and day restrictions, menu files, etc.
  1355.  
  1356. SECURITY/3000 therefore enforces the use of correct session name by requiring
  1357. that a user log on using the same session name with which he was configured
  1358. when added to the security system.  If he was configured with a session name
  1359. of JOHN, for example, and tries to log on using no session name or a different
  1360. session name, he will not be recognized as an authorized user and therefore
  1361. will not be let on the system.
  1362.  
  1363. For those who do not wish to enforce session name or set up "generic" users
  1364. and would rather use MPE's approach of optional session name, it is possible
  1365. to instruct the Logon Security System to ignore the session name at logon by
  1366. adding the following to the SECURMGR file:
  1367.  
  1368.      SESSION-NAME=OFF
  1369.  
  1370. However, if you choose not to enforce session name, all users must have been
  1371. set up in the Logon Security System with the session name the same as the user
  1372. name or with a session name of '@'.  For example, if you are adding a user who
  1373. should log on as JOHN.PAYROLL, he must be set up at ADD time with a user name
  1374. of 'JOHN', an account name of 'PAYROLL' and a session name of 'JOHN' or '@'.
  1375. When he logs on, however, he should not use the session name but rather just
  1376. JOHN.PAYROLL.
  1377.  
  1378. (When SESSION-NAME=OFF, the SECURITY data base is checked for an authorized
  1379. user with a session name which is the same as the user name.)
  1380.  
  1381. By default, session name is a valid part of the user ID.
  1382.  
  1383.  
  1384. DISABLING A TERMINAL ON WHICH AN ATTEMPTED VIOLATION HAS OCCURED
  1385. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1386. If a user is unsuccessful in logging on (either by not responding properly to
  1387. personal profile question, attempting to log on at an unauthorized time or
  1388. day, etc.), it is often desirable to "hang" that user's terminal so that he is
  1389. unable to attempt further logons.
  1390.  
  1391. To do this, determine the time in seconds for which you would like the
  1392. terminal hung and then add a line to the SECURMGR file in the format:
  1393.  
  1394.      PAUSE=numseconds
  1395.  
  1396. where 'numseconds' is the number of seconds for which the terminal will be
  1397. hung.  Then, when a user has an unsuccessful logon attempt, he will be hung
  1398. for the amount of time specified.
  1399.  
  1400. By default, 'numseconds'=0, which means that the user will not be hung at all.
  1401.  
  1402.  
  1403. SPECIFYING NUMBER OF ATTEMPTS TO ANSWER QUESTION AT LOGON
  1404. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1405. You may specify the number of attempts users are allowed to answer the
  1406. question at logon by adding a line to the SECURMGR file in the format:
  1407.  
  1408.      TIMES=attempts
  1409.  
  1410. where 'attempts' is the number of times the question will be asked.
  1411.  
  1412. By default, 'attempts'=2.
  1413.  
  1414.  
  1415. LOGGING SUCCESSFUL LOGONS
  1416. ~~~~~~~~~~~~~~~~~~~~~~~~~
  1417. You may wish to know who is logging on through the dial-up line, or whether a
  1418. particular logon is being utilized.  For how to log successful logons which
  1419. come through your dial-in lines or are specific to a port.
  1420.  
  1421. You may enable SECURITY/3000 to log successful logons which pass through the
  1422. USER program by adding a line to the SECURMGR.PUB.SECURITY file in the format:
  1423.  
  1424.      LOG-LOGON=ON
  1425.  
  1426. This keyword will be seen by the LOGON security program and cause all
  1427. successful logons to be written to the LOG.DATA.SECURITY file for later
  1428. review.  No other configuration is required and this keyword may be added or
  1429. removed at any time.  When the log file is reviewed later the message:
  1430.  
  1431. SUCCESSFUL LOGON
  1432.  
  1433. will be displayed.
  1434.  
  1435.  
  1436. SETTING ATTEMPTED SECURITY VIOLATION MEMO ROUTING PARAMETERS
  1437. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1438. The security violation memo which is generated when a violation attempt has
  1439. occurred is a useful tool for immediately taking corrective action.
  1440.  
  1441. You may change the memo parameters--device to which the memo is routed, outpri
  1442. of the memo, and number of copies to generate--by adding a line to the
  1443. SECURMGR file in the format:
  1444.  
  1445.      DEV=device,outpri,copies
  1446.  
  1447. where
  1448.  
  1449.      'device' is the device to which the memo is routed.
  1450.      'outpri' is the output priority with which the memo will be
  1451.               generated.
  1452.      'copies' is the number of copies of the memo which will be printed.
  1453.  
  1454. Therefore, if you want the memo routed to a special printer in the DP
  1455. Auditor's office where someone will be able to take immediate investigative
  1456. action, declare this on the 'device' parm.  If you want to give the memo top
  1457. priority to ensure that it is printed right away, specify an outpri of 13; if
  1458. you want to defer printing the memo, specify an outpri of 1, which will cause
  1459. the memo to remain in the spooler for later printing or purging.
  1460.  
  1461. If you do not declare a 'DEV=' line in the SECURMGR file, the memo will be
  1462. created with default attributes (dev=LP, outpri=8, copies=1).
  1463.  
  1464. If you do not want the security violation memo at all (but will still have the
  1465. attempted violation console message and log file entry), do not declare a
  1466. 'DEV=' line in the SECURMGR file, and add this file equation:
  1467.  
  1468.      :FILE SECLIST=$NULL
  1469.  
  1470. to SECURUDC (the UDC which invokes the Logon Security System before the
  1471. command which :RUNs USER.PUB.SECURITY.)
  1472.  
  1473.  
  1474. HOW SECURITY VIOLATIONS ARE REPORTED
  1475. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1476. Whenever an attempted violation occurs, a security memo is printed to the line
  1477. printer; the default format of it is:
  1478.  
  1479.      TO: SYSTEM MANAGER
  1480.  
  1481.      FROM: SECURITY/3000
  1482.  
  1483.      RE: SECURITY VIOLATION
  1484.  
  1485.      WE WOULD LIKE TO CALL TO YOUR ATTENTION THE FACT THAT THERE WAS A
  1486.      vvvvvvvvvvvvvvvvvvvvvvvvvvvvvv VIOLATION BY:
  1487.  
  1488.      USER: uuuuuuuu
  1489.      ACCOUNT: aaaaaaaa
  1490.      GROUP: gggggggg
  1491.      SESSION NAME: ssssssss
  1492.      USER NAME: nnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
  1493.      LOGICAL DEVICE: lll
  1494.      ON wwwwwwwwwwwwwwwwwwwwwwwwwww
  1495.  
  1496.      PLEASE INVESTIGATE.
  1497.  
  1498. where
  1499.  
  1500.      'uuuuuuuu' represents the user name
  1501.      'aaaaaaaa' represents the account name
  1502.      'gggggggg' represents the group name
  1503.      'ssssssss' represents the session name
  1504.      'lll' represents the logical device number
  1505.      'nnnnnnnnnnnnnnnnnnnnnnnnnnnnnn' represents the user's real name
  1506.      'wwwwwwwwwwwwwwwwwwwwwwwwwww' represents the time and date when
  1507.                                    the violation (attempt!) occurred
  1508.      'vvvvvvvvvvvvvvvvvvvvvvvvvvv' represents the type of violation
  1509.                                    (BAD USER, BAD DAY, BAD TIME,
  1510.                                    BAD TERMINAL, or BAD RESPONSE).
  1511.  
  1512. By using the above abbreviations ('uuuuuuuu', 'aaaaaaaa', etc.),
  1513. you can modify the memo format as you please.  The format is stored in
  1514.  
  1515.      MEMOFORM.DATA.SECURITY
  1516.  
  1517. NOTE:  If you have :HEADON on your LP, the header on the memo will
  1518.        indicate the user name (in this case, the violator!) on it, and
  1519.        the operator may deliver this memo to the violator!
  1520.  
  1521.  
  1522. HOW THE QUESTIONS FILE IS MAINTAINED
  1523. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1524. The personal profile questions that are asked at logon time of all users in
  1525. the system are not fixed by SECURITY/3000; they can be set up with custom
  1526. questions--up to 30 of them (remember, only ONE of the questions, at random,
  1527. will be asked at logon time).  The questions are stored in the editor-format
  1528. file called
  1529.  
  1530.      QUESTION.DATA.SECURITY
  1531.  
  1532. When SECURITY/3000 is installed from VESOFT, there are already some sample
  1533. questions in this file, so it may not be changed at all.
  1534.  
  1535. So, if you want to add a question to the file, just do the following:
  1536.  
  1537.      :EDITOR
  1538.      /TEXT QUESTION.DATA.SECURITY
  1539.      /ADD
  1540.          6    HOW LONG DID YOU LIVE IN THE PLACE WHERE YOU WERE BORN?
  1541.          7    //
  1542.      /KEEP
  1543.      /EXIT
  1544.  
  1545. If you must delete a question from the file, do:
  1546.  
  1547.      :EDITOR
  1548.      /TEXT QUESTION.DATA.SECURITY
  1549.      /REPLACE 6
  1550.          6    HOW LONG DID YOU LIVE IN THE PLACE WHERE YOU WERE BORN?
  1551.          6    DELETED   << you type >>
  1552.      /KEEP
  1553.      /EXIT
  1554.  
  1555. Again, NEVER execute an actual DELETE command!
  1556.  
  1557. You may want to have only ONE question in the file--this question will be the
  1558. only one asked at logon time.  Therefore, if you would like to use an MPE-like
  1559. password rather than personal profile questions, you can have the one question
  1560. in the file be
  1561.  
  1562.      Enter USER password:
  1563.  
  1564. which looks just like
  1565. MPE's password prompt; but don't forget that the passwords in SECURITY/3000's
  1566. Logon Security System, unlike MPE passwords, are stored in one-way encrypted
  1567. format.
  1568.  
  1569. If the QUESTION file is empty (zero records, not just only 'DELETED' records),
  1570. no questions will be asked at logon time; this is useful in case you do not
  1571. want SECURITY/3000's personal profile questions, but only its other features.
  1572. Remember that you can impose the questions on only selected users by answering
  1573. 'N' to the "Should the user be asked personal profile questions?" prompt when
  1574. you ADD the user.
  1575.  
  1576. NOTE:  The maximum number of questions is 30.
  1577.  
  1578.  
  1579. ACCESSING THE USER PROFILE DATA BASE
  1580. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1581. Information about all the users you have authorized in the Logon Security
  1582. System (i.e. answers, permitted terminal numbers, permitted times of day/days
  1583. of week, real user names, etc.) is stored in the IMAGE data base
  1584.  
  1585.      ANSWER.DATA.SECURITY
  1586.  
  1587. To write reports against this data base (e.g. show the user names and the
  1588. permitted days of week for all users, sorted by user ID), merely access this
  1589. data base with QUERY or any of your programs.  Of course, the personal profile
  1590. answers are one-way encrypted, and therefore cannot be determined.
  1591.  
  1592. Note that you can open the data base through QUERY in READ mode only!  Also,
  1593. as an added security feature, you may change the data base password (as
  1594. follows) and SECURITY/3000 will still be able to (magically!) access the data
  1595. base:
  1596.  
  1597.      :HELLO MANAGER.SECURITY,DATA
  1598.      :RUN DBUTIL.PUB.SYS
  1599.      >>SET ANSWER PASSWORD 1=password
  1600.      >>EXIT
  1601.  
  1602.  
  1603. CONCLUSION:  PART 1
  1604. ~~~~~~~~~~~~~~~~~~~
  1605. That's it for the particulars on how the LOGON portion of SECURITY/3000
  1606. works.  In Part 2, I will discuss various utilities and security logs
  1607. associated with SECURITY/3000.
  1608.  
  1609.  
  1610. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1611.  
  1612.  
  1613.  
  1614.                                  /\     /\
  1615.                                /    \ /    \
  1616.                              /      /        \
  1617.                            /  Inside NORAD     \     /\
  1618.                      /\  /                       \ /    \
  1619.                    /    \    by:  Anonymous      /        \
  1620.                  /        \                                 \
  1621.            _ _ /_ _ _ _ _ _ \_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _\_ _
  1622.  
  1623.  
  1624.  
  1625.  
  1626.  
  1627. Note: The information below was compiled through research and personal
  1628.       interviews with Air Force personnel who were stationed at NORAD
  1629.       Headquarters.  The officers that we talked wished for their names to
  1630.       be withheld.
  1631.  
  1632. Aerospace Defense Structure
  1633. ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1634.      The military defense of North America is a joint effort of the United
  1635. States and Canada.  All forces directly assigned to aerospace defense by the
  1636. two nations are organized as the North American Air Defense Command (NORAD).
  1637. The major elements of NORAD are the Canadian Forces Air Defence Command
  1638. (CFADC), the U.S. Air Force's Air Defense Command (USAD ADC), and the U.S.
  1639. Army's Air Defense Command (ARADCOM).  Headquarters of NORAD, USAF ADC, and
  1640. ARADCOM are in Colorado Springs, Colorado.  While the CFADC headquarters are in
  1641. St. Hubert, Quebec.
  1642.      The primary jobs of NORAD is to serve as an early warning system in the
  1643. event of nuclear attack.  NORAD is primarily concerned with the detection,
  1644. identification, and tracking of hostile bombers, ballistic missiles, and space
  1645. vehicles.
  1646.  
  1647. Defense Against Manned Bombers
  1648. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1649.      Defense against manned bombers includes ground-based and airborne radars
  1650. to warn of the approach of hostile aircraft; supersonic fighter-interceptor
  1651. aircraft capable of operating in any type of weather, and surface-to-air
  1652. interceptor missiles.  Detection and tracking of bombers is accomplished by
  1653. ground-based radars located along the Arctic Circle from the Aleutians to
  1654. Greenland and, in greater concentrations, in southern Canada and the United
  1655. States.  Radar equipped aircraft on continuous patrol off the Atlantic and
  1656. Pacific coasts extend surveillance seaward.
  1657.      Any aircraft detected must of course be identified.  Flights penetrating
  1658. designated Air Defense Identification Zones (ADIZ) must be identified by
  1659. correlating their flight plans submitted in advance with the precise position
  1660. of the aircraft or, when this fails, through visual identification by
  1661. interceptor aircraft.  The simplest method of identification is to interrogate
  1662. an electronic coding device, called Identification Friend of For (IFF), located
  1663. in the aircraft, which replies to the interrogation with a known password.  If
  1664. the airborne object is hostile, it will be destroyed by fighter-interceptor jet
  1665. aircraft using nuclear or conventional armament or by unmanned surface-to-air
  1666. missiles such as BOMARC or NIKE.
  1667.      Integration of the defense systems against the manned bomber is
  1668. accomplished by the electronic supersystem called Semi-Automatic Ground
  1669. Environment (SAGE).  In SAGE, computers receive and store data, solve problems,
  1670. and display solutions to the detection station display screens.  This allows
  1671. air defense commanders to follow the battle situation and direct appropriate
  1672. defense weapons.
  1673.      If interceptors or missiles are launched or committed against the target,
  1674. the computer, with operator assistance, transmits information to and guides
  1675. them to the hostile object.  Interceptors are equipped with an automatic pilot,
  1676. which can ge guided from the ground by means of data link.  In the event the
  1677. SAGE system should become inoperative, its functions would be taken over by
  1678. BUIC, the Back-up Interceptor Control system, with widely dispersed automated
  1679. control centers.
  1680.  
  1681. Defense Against Ballistic Missiles
  1682. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1683.      Defense against ballistic missiles presents more difficult problems than
  1684. defense against manned bombers.  An extensive network known as the Ballistic
  1685. Missile Early Warning System (BMWES), runs through Alaska, Canada, Greenland,
  1686. and the British Isles, is used to detect and relay information about inbound
  1687. missiles.  A similar network is planned to cover the southern portion of the
  1688. continent.  In the event that an inbound missiles is detected, NORAD directs
  1689. the use of antiballistic-missile weaponry.
  1690.  
  1691. Defense Against Attack Through Space
  1692. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1693.      Although space vehicles are note currently employed for offensive military
  1694. usage at the present, the possibility is certainly there.  One of NORAD's
  1695. primary responsibilities is to monitor any space born vehicles.
  1696.      The number of man made objects in orbit above the Earth numbers in the
  1697. thousands.  Continuous surveillance of these objects in space is performed by
  1698. NORAD's Space Detection and Tracking System (SPADATS).  SPADATS consists of two
  1699. primary elements, the U.S. Navy's Space Surveillance (SPASUR) System--an
  1700. electronic fence of high-powered transmitters and receivers extending across
  1701. the southern United States--and the U.S. Air Force's SPACETRACK system.
  1702. SPACETRACK consists of a worldwide network of radars, space-probing cameras,
  1703. and communications.  An operational control center with a central
  1704. data-processing facility called the Space Defense Center, located at NORAD
  1705. headquarters, serves to integrate the entire network.
  1706.  
  1707.  
  1708. NORAD Headquarters
  1709. ~~~~~~~~~~~~~~~~~~
  1710.      In 1966, operations began in the new Combat Operations Center deep inside
  1711. a mountain in Colorado.  The center is located outside Colorado Springs at the
  1712. Cheyenne Mountain Air Force Base.  The complex is set inside tunnels that have
  1713. been carved deep into the heart of the mountain itself.  The entire structure
  1714. is situated atop huge, 3-foot diameter springs to absorb nuclear shock waves.
  1715. The headquarters was designed to survive a 1 megaton nuclear blast, but since
  1716. this was designed to deter 1960's nuclear technology, it is questionable
  1717. whether or not it would withstand attack by today's "smart" bombs, which could
  1718. put a missile right in the front door.  
  1719.      Every day, over a thousand people go to work the day shift at NORAD,
  1720. commuting up from near by Peterson Air Force Base.  Upon arrival at the center,
  1721. they walk past the station's concertina wire topped twelve foot fences, which
  1722. are surprisingly non-electrified.  The exterior is constantly patrolled and
  1723. observed by the Air Force Elite Security Forces, each armed to the teeth with
  1724. 9mm pistols and M-16's.  Scores of German Shepherd attack dogs are used as an
  1725. added bit of security.  Above the main tunnel entrance, is a sign that reads:
  1726. "Use of Deadly Force Authorized by all Personnel."
  1727.      The interior of the base, built to survive a nuclear attack, is completely
  1728. self-contained.  Backup power is available in case of a power failure, and
  1729. provides uninterupted power for lighting as well as computer systems.  The base
  1730. also contains food and water supplies for all personnel for over 30 days.  The
  1731. base itself is entirely shielded with lead and reinforced concrete, which
  1732. augments the natural protection provided by the mountain.  Huge blast doors
  1733. provide the only entrances and exits to the base.  
  1734.      Of course, the base is equipped with state-of-the-art communications
  1735. systems, with full time links to all nuclear weapons sites in both the U.S. and
  1736. Canada.  The base is also linked into all major news and civil defense agencies
  1737. to accept and release up-to-the-minute information on global military affairs. 
  1738. Surprisingly, however, the base is not equipped with today's most powerful
  1739. mainframes and supercomputers.  Many of the systems are somewhat archaic, as any
  1740. upgrade would cause massive redesign of weapons and defense systems.   
  1741.  
  1742. Conclusion
  1743. ~~~~~~~~~~
  1744.      One may wonder about the usefulness of this unique command post in the
  1745. interior of a mountain in light of current global events.  With the evaporation
  1746. of central government in the Soviet Union, and the decreased likelihood of
  1747. another global war, a huge nuclear arsenal is beginning to seem worthless. 
  1748. However, with the capability to monitor global military situations at all times,
  1749. and the ability to deter possible conflict, it still provides a valuable service
  1750. to all of North America, if not the world.  Better safe than sorry.
  1751.  
  1752.  
  1753. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1754.  
  1755.  
  1756.  
  1757.  
  1758.  
  1759. *******************************************************************************
  1760. *                                                                             *
  1761. *              Card-O-Rama: Magnetic Stripe Technology and Beyond             *
  1762. *                                                                             *
  1763. *                                  or                                         *
  1764. *                                                                             *
  1765. *                  "A Day in the Life of a Flux Reversal"                     *
  1766. *                                                                             *
  1767. *                                                                             *
  1768. *                                                                             *
  1769. *                     by: ..oooOO Count Zero OOooo.. yRDTy       11/22/91     *
  1770. *                                                                             *
  1771. *******************************************************************************
  1772.  
  1773. ---A production of :    -=Restricted -=Data -=Transmissions    :
  1774.                    :                                           :
  1775.                    : "Truth is cheap, but information costs."  :
  1776.                     
  1777.    Look in your wallet.  Chances are you own at least 3 cards that have 
  1778. magnetic stripes on the back.  ATM cards, credit cards, calling cards, 
  1779. frequent flyer cards, ID cards, passcards,...cards, cards, cards!  And chances
  1780. are you have NO idea what information is on those stripes or how they are
  1781. encoded.  This detailed document will enlighten you and hopefully spark your 
  1782. interest in this fascinating field.  None of this info is 'illegal'...but
  1783. MANY organizations (government, credit card companies, security firms,
  1784. etc.) would rather keep you in the dark.  Also, many people will IMMEDIATELY 
  1785. assume that you are a CRIMINAL if you merely "mention" that you are
  1786. "interested in how magnetic stripe cards work."  Watch yourself, ok?  Just 
  1787. remember that there's nothing wrong with wanting to know how things work,
  1788. although
  1789. in our present society, you may be labelled a "deviant" (or worse, a <gasp>
  1790. "hacker!").
  1791.     
  1792.    Anyway, I will explain in detail how magstripes are encoded and give
  1793. several examples of the data found on some common cards.  I will also cover the
  1794. technical theory behind magnetic encoding, and discuss magnetic encoding
  1795. alternatives to magstripes (Wiegand, barium ferrite).  Non-magnetic card
  1796. technology (bar code, infrared, etc.) will be described.  Finally, there will
  1797. be an end discussion on security systems and the ramifications of emergent
  1798. "smartcard" and biometric technologies.
  1799.    
  1800.                                 *DISCLAIMER*
  1801.  
  1802.    Use this info to EXPLORE, not to EXPLOIT.  This text is presented for
  1803. informational purposes only, and I cannot be held responsible for anything you
  1804. do or any consequences thereof.  I do not condone fraud, larceny, or any other
  1805. criminal activities. 
  1806.  
  1807.                                  *A WARNING*
  1808.  
  1809.    I've noticed lately a few "books" and "magazines" for sale that were
  1810. FILLED with PHILES on a variety of computer topics.  These philes were
  1811. originally released into the Net with the intention of distributing them for
  1812. FREE.  HOWEVER, these philes are now being PACKAGED and sold FOR PROFIT.  This
  1813. really pisses me off.  I am writing this to be SHARED for FREE, and I ask no
  1814. payment.  Feel free to reprint this in hardcopy format and sell it if you must,
  1815. but NO PROFITS must be made.  Not a f**king DIME!  If ANYONE reprints this
  1816. phile and tries to sell it FOR A PROFIT, I will hunt you down and make your
  1817. life miserable.  How?  Use your imagination.  The reality will be worse.  
  1818.  
  1819.  
  1820.                            
  1821.  
  1822.  
  1823.  
  1824.  
  1825.  
  1826.  
  1827.              **  MAGSTRIPE FIELDS, HEADS, ENCODING/READING **
  1828.  
  1829.  
  1830.    Whew!  I'll get down to business now.  First, I am going to explain the
  1831. basics behind fields, heads, encoding and reading.  Try and absorb the THEORY
  1832. behind encoding/reading.  This will help you greatly if you ever decide to 
  1833. build your own encoder/reader from scratch (more on that later). 
  1834. FERROMAGNETIC materials are substances that retain magnetism after an external
  1835. magnetizing field is removed.  This principle is the basis of ALL magnetic
  1836. recording and playback.  Magnetic POLES always occur in pairs within magnetized
  1837. material, and MAGNETIC FLUX lines emerge from the NORTH pole and
  1838. terminate at the SOUTH.  The elemental parts of MAGSTRIPES are ferromagnetic
  1839. particles about 20 millionths of an inch long, each of which acts like a tiny
  1840. bar magnet.  These particles are rigidly held together by a resin binder. 
  1841. The magnetic particles are made by companies which make coloring pigments
  1842. for the paint industry, and are usually called pigments.  When making the
  1843. magstripe media, the elemental magnetic particles are aligned with their
  1844. North-South axes parallel to the magnetic stripe by means of an external
  1845. magnetic fields while the binder hardens.
  1846.  
  1847.    These particles are actually permanent bar magnets with TWO STABLE
  1848. POLARITIES.  If a magnetic particle is placed in a strong external magnetic
  1849. field of the opposite polarity, it will FLIP its own polarity (North becomes
  1850. South, South becomes North).  The external magnetic field strength required to 
  1851. produce this flip is called the COERCIVE FORCE, or COERCIVITY of the particle.
  1852. Magnetic pigments are available in a variety of coercivities (more on that 
  1853. later on).
  1854.  
  1855.    An unencoded magstripe is actually a series of North-South magnetic
  1856. domains (see Figure 1).  The adjacent N-S fluxes merge, and the entire stripe
  1857. acts as a single bar magnet with North and South poles at its ends.
  1858.  
  1859.  
  1860. Figure 1:               N-S.N-S.N-S.N-S.N-S.N-S.N-S.N-S <-particles in stripe
  1861. ---------                        
  1862.        represented as-> N-----------------------------S
  1863.                                        
  1864.  
  1865.    However, if a S-S interface is created somewhere on the stripe, the fluxes
  1866. will REPEL, and we get a concentration of flux lines around the S-S interface.
  1867. (same with N-N interface)  ENCODING consists of creating S-S and N-N 
  1868. interfaces, and READING consists of (you guessed it) detecting 'em.  The S-S
  1869. and N-N interfaces are called FLUX REVERSALS.
  1870.  
  1871.  
  1872.                             ||| ||| <-flux lines
  1873. Figure 2:      N------------N-N-S-S-----------------S
  1874. ---------     flux lines -> ||| |||
  1875.  
  1876.  
  1877.   The external magnetic field used to flip the polarities is produced by a 
  1878. SOLENOID, which can REVERSE its polarity by reversing the direction of CURRENT.
  1879. An ENCODING head solenoid looks like a bar magnet bent into the shape of a ring
  1880. so that the North/South poles are very close and face each other across a tiny
  1881. gap.  The field of the solenoid is concentrated across this gap, and when 
  1882. elemental magnetic particles of the magstripe are exposed to this field, they
  1883. polarize to the OPPOSITE (unlike poles attract).  Movement of the stripe past
  1884. the solenoid gap during which the polarity of the solenoid is REVERSED will
  1885. produce a SINGLE flux reversal (see Figure 3).  To erase a magstripe, the
  1886. encoding head is held at a CONSTANT polarity and the ENTIRE stripe is moved
  1887. past it.  No flux reversals, no data. 
  1888.  
  1889.  
  1890.  
  1891.  
  1892.                               | |  <----wires leading to solenoid      
  1893.                               | |       (wrapped around ring)
  1894.                             /-|-|-\                          
  1895.                            /       \
  1896. Figure 3:                  |       | <----solenoid (has JUST changed polarity)   
  1897.                        
  1898. ---------                  \       /
  1899.                             \ N S / <---gap in ring.. NS polarity across gap
  1900.       N----------------------SS-N-------------------------S
  1901.                              ^^  
  1902.                    <<<<<-direction of stripe movement
  1903.  
  1904.           S-S flux reversal created at trailing edge of solenoid!
  1905.  
  1906.  
  1907.    So, we now know that flux reversals are only created the INSTANT the 
  1908. solenoid CHANGES its POLARITY.  If the solenoid in Figure 3 were to remain at 
  1909. its current polarity, no further flux reversals would be created as the 
  1910. magstripe moves from right to left.  But, if we were to change the solenoid
  1911. gap polarity from NS to *SN*, then (you guessed it) a *N-N* flux reversal would
  1912. instantly be created.  Just remember, for each and every reversal in solenoid
  1913. polarity, a single flux reversal is created (commit it to memory..impress your
  1914. friends..be a tech weenie!).  An encoded magstripe is therefore just a series 
  1915. of flux reversals (NN followed by SS followed by NN ...).
  1916.  
  1917.   DATA! DATA! DATA!  That's what you want!  How the hell are flux reversals 
  1918. read and interpreted as data?  Another solenoid called a READ HEAD is used to
  1919. detect these flux reversals.  The read head operates on the principle of
  1920. ELECTROMAGNETIC RECIPROCITY: current passing through a solenoid produces a 
  1921. magnetic field at the gap, therefore, the presence of a magnetic field at the
  1922. gap of a solenoid coil will *produce a current in the coil*!  The strongest
  1923. magnetic fields on a magstripe are at the points of flux reversals.  These are
  1924. detected as voltage peaks by the reader, with +/- voltages corresponding to
  1925. NN/SS flux reversals (remember, flux reversals come in 2 flavors).  
  1926. See Figure 4.
  1927.  
  1928.  
  1929.               magstripe---> -------NN--------SS--------NN---------SS------
  1930.            
  1931. Figure 4:     voltage-----> .......+.........-.........+...........-.....
  1932. ---------
  1933.                                    ----------          -------------
  1934.             peak readout-->        |        |          |           |
  1935.                            --------|        |----------|           |----
  1936.  
  1937.                                        
  1938.    The 'peak readout' square waveform is critical.  Notice that the voltage 
  1939. peak remains the same until a new flux reversal is encountered.   
  1940.  
  1941.    Now, how can we encode DATA?  The most common technique used is known as
  1942. Aiken Biphase, or 'two-frequency coherent-phase encoding' (sounds impressive,
  1943. eh?).  First, digest the diagrams in Figure 5.
  1944.                                                                              
  1945.  
  1946.  
  1947.  
  1948.  
  1949.  
  1950.  
  1951.  
  1952.  
  1953.  
  1954.  
  1955.  
  1956.  
  1957.  
  1958.  
  1959.  
  1960.  
  1961.                                                                              
  1962. Figure 5:       ----------        ----------        ----------                   
  1963.                                   
  1964. ---------       |        |        |        |        |        |  <- peak          
  1965.                 
  1966.          a)     |        |--------|        |--------|        |     readouts      
  1967.                           
  1968.                                                                              
  1969.                 *   0    *   0    *   0    *   0    *   0    *
  1970.                                                              
  1971.                                                                             
  1972.                 -----    -----    -----    -----    -----    -
  1973.                 |   |    |   |    |   |    |   |    |   |    |
  1974.         b)      |   |----|   |----|   |----|   |----|   |----|
  1975.  
  1976.                 *   1    *   1    *   1    *   1    *   1    *
  1977.  
  1978.                 -----    ----------        -----    -----    -
  1979.                 |   |    |        |        |   |    |   |    |                   
  1980.       
  1981.         c)      |   |----|        |--------|   |----|   |----|                   
  1982.                            
  1983.                                                                             
  1984.                 *   1    *   0    *   0    *   1    *   1    *
  1985.                                                                
  1986.  
  1987.    There ya have it.   Data is encoded in 'bit cells,' the frequency of which
  1988. is the frequency of '0' signals.  '1' signals are exactly TWICE the frequency
  1989. of '0' signals.  Therefore, while the actual frequency of the data passing
  1990. the read head will vary due to swipe speed, data density, etc, the '1'
  1991. frequency will ALWAYS be TWICE the '0' frequency.  Figure 5C shows exactly how
  1992. '1' and '0' data exists side by side.
  1993.  
  1994.    We're getting closer to read DATA!  Now, we're all familiar with binary
  1995. and how numbers and letters can be represented in binary fashion very easily.
  1996. There are obviously an *infinite* number of possible standards, but thankfully
  1997. the American National Standards Institute (ANSI) and the International
  1998. Standards Organization (ISO) have chosen 2 standards.  The first is
  1999.  
  2000.  
  2001.                    ** ANSI/ISO BCD Data format **
  2002.  
  2003.   This is a 5-bit Binary Coded Decimal format.  It uses a 16-character set,
  2004. which uses 4 of the 5 available bits.  The 5th bit is an ODD parity bit, which
  2005. means there must be an odd number of 1's in the 5-bit character..the parity bit
  2006. will 'force' the total to be odd.  Also, the Least Significant Bits are read
  2007. FIRST on the strip.  See Figure 6.
  2008.  
  2009.   The sum of the 1's in each case is odd, thanks to the parity bit.  If the
  2010. read system adds up the 5 bits and gets an EVEN number, it flags the read
  2011. as ERROR, and you gotta scan the card again.  (yeah, I *know* a lot of you
  2012. out there *already* understand parity, but I gotta cover all the bases...not
  2013. everyone sleeps with their modem and can recite the entire AT command set
  2014. at will, you know ;).  See Figure 6 for details of ANSI/ISO BCD.
  2015.  
  2016.  
  2017.  
  2018.  
  2019.  
  2020.  
  2021.  
  2022.  
  2023.  
  2024.  
  2025.  
  2026.  
  2027.  
  2028. Figure 6:        ANSI/ISO BCD Data Format
  2029. ---------
  2030.  
  2031.  * Remember that b1 (bit #1) is the LSB (least significant bit)!
  2032.   * The LSB is read FIRST!
  2033.   * Hexadecimal conversions of the Data Bits are given in parenthesis (xH).
  2034.        
  2035.         --Data Bits--   Parity 
  2036.         b1  b2  b3  b4   b5    Character  Function
  2037.                                  
  2038.         0   0   0   0    1        0 (0H)    Data
  2039.         1   0   0   0    0        1 (1H)      " 
  2040.         0   1   0   0    0        2 (2H)      " 
  2041.         1   1   0   0    1        3 (3H)      " 
  2042.         0   0   1   0    0        4 (4H)      " 
  2043.         1   0   1   0    1        5 (5H)      " 
  2044.         0   1   1   0    1        6 (6H)      " 
  2045.         1   1   1   0    0        7 (7H)      " 
  2046.         0   0   0   1    0        8 (8H)      " 
  2047.         1   0   0   1    1        9 (9H)      " 
  2048.         0   1   0   1    1        : (AH)    Control
  2049.         1   1   0   1    0        ; (BH)    Start Sentinel
  2050.         0   0   1   1    1        < (CH)    Control
  2051.         1   0   1   1    0        = (DH)    Field Separator
  2052.         0   1   1   1    0        > (EH)    Control
  2053.         1   1   1   1    1        ? (FH)    End Sentinel
  2054.  
  2055.  
  2056.            ***** 16 Character 5-bit Set *****
  2057.                 10 Numeric Data Characters
  2058.                 3 Framing/Field Characters
  2059.                 3 Control Characters
  2060.          
  2061.  
  2062.     The magstripe begins with a string of Zero bit-cells to permit the
  2063. self-clocking feature of biphase to "sync" and begin decoding.
  2064. A "Start Sentinel" character then tells the reformatting process where to start
  2065. grouping the decoded bitstream into groups of 5 bits each.  At the end of the
  2066. data, an "End Sentinel" is encountered, which is followed by an "Longitudinal
  2067. Redundancy Check (LRC) character.  The LRC is a parity check for the sums of 
  2068. all b1, b2, b3, and b4 data bits of all preceding characters.  The LRC 
  2069. character will catch the remote error that could occur if an individual
  2070. character had two compensating errors in its bit pattern (which would fool the
  2071. 5th-bit parity check).  
  2072.  
  2073.    The START SENTINEL, END SENTINEL, and LRC are collectively called "Framing
  2074. Characters", and are discarded at the end of the reformatting process.
  2075.  
  2076.            
  2077.                   ** ANSI/ISO ALPHA Data Format **
  2078.  
  2079.    Alphanumeric data can also be encoded on magstripes.  The second ANSI/ISO
  2080. data format is ALPHA (alphanumeric) and involves a 7-bit character set with
  2081. 64 characters.  As before, an odd parity bit is added to the required 6 data
  2082. bits for each of the 64 characters.  See Figure 7.
  2083.  
  2084.  
  2085.  
  2086.  
  2087.  
  2088.  
  2089.  
  2090.  
  2091.  
  2092.  
  2093. Figure 7:
  2094. ---------             ANSI/ISO ALPHA Data Format
  2095.  
  2096.    * Remember that b1 (bit #1) is the LSB (least significant bit)!  
  2097.    * The LSB is read FIRST!
  2098.    * Hexadecimal conversions of the Data Bits are given in parenthesis (xH).
  2099.  
  2100.  
  2101.          ------Data Bits-------   Parity
  2102.          b1  b2  b3  b4  b5  b6     b7    Character   Function
  2103.  
  2104.           0   0   0   0   0   0     1      space (0H) Special
  2105.           1   0   0   0   0   0     0        ! (1H)      "
  2106.           0   1   0   0   0   0     0        " (2H)      "
  2107.           1   1   0   0   0   0     1        # (3H)      "
  2108.           0   0   1   0   0   0     0        $ (4H)      "
  2109.           1   0   1   0   0   0     1        % (5H)   Start Sentinel
  2110.           0   1   1   0   0   0     1        & (6H)   Special
  2111.           1   1   1   0   0   0     0        ' (7H)      "
  2112.           0   0   0   1   0   0     0        ( (8H)      "
  2113.           1   0   0   1   0   0     1        ) (9H)      "
  2114.           0   1   0   1   0   0     1        * (AH)      "
  2115.           1   1   0   1   0   0     0        + (BH)      "
  2116.           0   0   1   1   0   0     1        , (CH)      "
  2117.           1   0   1   1   0   0     0        - (DH)      "
  2118.           0   1   1   1   0   0     0        . (EH)      "
  2119.           1   1   1   1   0   0     1        / (FH)      "
  2120.  
  2121.           0   0   0   0   1   0     0        0 (10H)    Data (numeric)
  2122.           1   0   0   0   1   0     1        1 (11H)     "
  2123.           0   1   0   0   1   0     1        2 (12H)     "
  2124.           1   1   0   0   1   0     0        3 (13H)     "
  2125.           0   0   1   0   1   0     1        4 (14H)     "
  2126.           1   0   1   0   1   0     0        5 (15H)     " 
  2127.           0   1   1   0   1   0     0        6 (16H)     "
  2128.           1   1   1   0   1   0     1        7 (17H)     " 
  2129.           0   0   0   1   1   0     1        8 (18H)     "
  2130.           1   0   0   1   1   0     0        9 (19H)     "
  2131.                                                
  2132.           0   1   0   1   1   0     0        : (1AH)   Special
  2133.           1   1   0   1   1   0     1        ; (1BH)      "
  2134.           0   0   1   1   1   0     0        < (1CH)      "
  2135.           1   0   1   1   1   0     1        = (1DH)      "
  2136.           0   1   1   1   1   0     1        > (1EH)      "
  2137.           1   1   1   1   1   0     0        ? (1FH)   End Sentinel
  2138.           0   0   0   0   0   1     0        @ (20H)   Special   
  2139.  
  2140.           1   0   0   0   0   1     1        A (21H)   Data (alpha) 
  2141.           0   1   0   0   0   1     1        B (22H)     "
  2142.           1   1   0   0   0   1     0        C (23H)     "
  2143.           0   0   1   0   0   1     1        D (24H)     " 
  2144.           1   0   1   0   0   1     0        E (25H)     "
  2145.           0   1   1   0   0   1     0        F (26H)     "  
  2146.           1   1   1   0   0   1     1        G (27H)     "
  2147.           0   0   0   1   0   1     1        H (28H)     "
  2148.           1   0   0   1   0   1     0        I (29H)     "
  2149.           0   1   0   1   0   1     0        J (2AH)     "
  2150.           1   1   0   1   0   1     1        K (2BH)     "
  2151.           0   0   1   1   0   1     0        L (2CH)     "  
  2152.           1   0   1   1   0   1     1        M (2DH)     "
  2153.           0   1   1   1   0   1     1        N (2EH)     "   
  2154.           1   1   1   1   0   1     0        O (2FH)     " 
  2155.           0   0   0   0   1   1     1        P (30H)     "
  2156.           1   0   0   0   1   1     0        Q (31H)     "  
  2157.           0   1   0   0   1   1     0        R (32H)     "
  2158.           1   1   0   0   1   1     1        S (33H)     "
  2159.           0   0   1   0   1   1     0        T (34H)     "
  2160.           1   0   1   0   1   1     1        U (35H)     "
  2161.           0   1   1   0   1   1     1        V (36H)     "
  2162.           1   1   1   0   1   1     0        W (37H)     "
  2163.           0   0   0   1   1   1     0        X (38H)     "  
  2164.           1   0   0   1   1   1     1        Y (39H)     "
  2165.           0   1   0   1   1   1     1        Z (3AH)     "
  2166.  
  2167.           1   1   0   1   1   1     0        [ (3BH)    Special
  2168.           0   0   1   1   1   1     1        \ (3DH)    Special
  2169.           1   0   1   1   1   1     0        ] (3EH)    Special
  2170.           0   1   1   1   1   1     0        ^ (3FH)    Field Separator
  2171.           1   1   1   1   1   1     1        _ (40H)    Special
  2172.   
  2173.               ***** 64 Character 7-bit Set *****
  2174.                   * 43 Alphanumeric Data Characters
  2175.                   * 3 Framing/Field Characters
  2176.                   * 18 Control/Special Characters
  2177.  
  2178.  
  2179.    The two ANSI/ISO formats, ALPHA and BCD, allow a great variety of data to be
  2180. stored on magstripes.  Most cards with magstripes use these formats, but 
  2181. occasionally some do not.  More about those later on.  
  2182.  
  2183.  
  2184.                    ** Tracks and Encoding Protocols **
  2185.  
  2186.    Now we know how the data is stored.  But WHERE is the data stored on the
  2187. magstripe?  ANSI/ISO standards define *3* Tracks, each of which is used for
  2188. different purposes.  These Tracks are defined only by their location on the
  2189. magstripe, since the magstripe as a whole is magnetically homogeneous.  See
  2190. Figure 8.
  2191.  
  2192.  
  2193. Figure 8:
  2194. ---------          <edge of card>
  2195.          _________________________________________________________________
  2196.          |                  ^         ^         ^
  2197.          |------------------| 0.223"--|---------|-------------------------
  2198.          |                  |         | 0.353"  |            ^
  2199.          |..................|.........|.........| 0.493"     |         
  2200.          | Track #1  0.110"           |         |            |
  2201.          |............................|.........|...     <MAGSTRIPE>
  2202.          |                            |         |            | 
  2203.          |............................|.........|...         |        
  2204.          | Track #2  0.110"                     |            |
  2205.          |......................................|...         |         
  2206.          |                                      |            | 
  2207.          |......................................|...         |          
  2208.          | Track #3  0.110"                                  |
  2209.          |..........................................         |               
  2210.          |                                                   |
  2211.          |------------------------------------------------------------------
  2212.          |
  2213.          |                   <body of card>
  2214.          |
  2215.  
  2216.  
  2217.    You can see the exact distances of each track from the edge of the card, as
  2218. well as the uniform width and spacing.  Place a magstripe card in front of you
  2219. with the magstripe visible at the bottom of the card.  Data is encoded from
  2220. left to right (just like reading a book, eh?).  See Figure 9.
  2221.  
  2222.  
  2223. Figure 9:
  2224. ---------          ANSI/ISO Track 1,2,3 Standards
  2225.  
  2226.      Track     Name     Density     Format    Characters     Function
  2227.    --------------------------------------------------------------------
  2228.        1       IATA     210 bd